Python Django-URL文件处的语法错误
我的基本URL中的Django(Django 1.8,Python 3.4)出现语法错误。以下是ir的代码:Python Django-URL文件处的语法错误,python,django,django-urls,Python,Django,Django Urls,我的基本URL中的Django(Django 1.8,Python 3.4)出现语法错误。以下是ir的代码: from django.conf.urls import include, url from django.contrib import admin from login_vacations import views as login_views urlpatterns = [ url(r'^admin/', include(admin.site.urls)), ur
from django.conf.urls import include, url
from django.contrib import admin
from login_vacations import views as login_views
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^login/$', login_views.index, name="login_vacations"),
url(r'^logout/$', login_views.logout_vacations, name='logout_vacations'),
url(r'^vacations/', include('vacations_app.urls')),
]
文件夹中存在vacations_应用程序,其中确实有一个URL.py文件。错误如下:
invalid syntax (urls.py, line 10)
相反,如果我从include函数中删除单引号,错误将是:
name 'vacations_app' is not defined
如果我完全擦除第10行,应用程序将正常工作。但我不明白为什么。这一行的结构与第7行的结构完全相同(包括管理员URL)
vacations_app/url.py包含以下代码:
from django.conf.urls import patterns, include, url
from django.views.generic import TemplateView
from vacations_app import views as vacations_views
urlpatterns = [
url(r'^$', vacations_views.vacations_public_view, name='vacations_public_view'),
url(r'^my_vacations/$', vacations_views.my_vacations, name='my_vacations'),
url(r'^new_vacation/$', vacations_views.new_vacation, name='new_vacation'),
url(r'^show/(?P<vacation_id>\w+)/$'), vacations_views.show_vacation, name='show_vacation'),
url(r'^show/(?P<vacation_id>\w+)/add_destination/$'), vacations_views.add_destination_to_vacation, name='add_destination_to_vacation'),
]
从django.conf.url导入模式,包括,url
从django.views.generic导入模板视图
从假期\应用程序导入视图作为假期\应用程序视图
URL模式=[
url(r'^$',休假\视图。休假\公共\视图,名称='休假\公共\视图'),
url(r“^my\u vacations/$”,vacations\u views.my\u vacations,name='my\u vacations'),
url(r“^new\u vacation/$”,vacations\u views.new\u vacation,name='new\u vacation'),
url(r“^show/(?P\w+/$”),vacations\u views.show\u vacation,name='show\u vacation'),
url(r'^show/(?P\w+)/add_destination/$)、休假视图。add_destination_to_休假,name='add_destination_to_休假〕,
]
错误的完整跟踪可在此处找到:
有人能帮我吗?您是否在
设置.py中添加了应用程序(假期应用程序)作为已安装的应用程序?我对您的urlpatterns=[]
也有点怀疑,因为我的一些项目中有urlpatterns=patterns()
如果可能,您可以共享您的设置.py
(省略可识别信息)吗?第10行和第11行的休假\u app/url.py中似乎还有两个右括号。现在你有:
url(r'^show/(?P<vacation_id>\w+)/$'), vacations_views.show_vacation, name='show_vacation'),
url(r'^show/(?P<vacation_id>\w+)/add_destination/$'), vacations_views.add_destination_to_vacation, name='add_destination_to_vacation'),
url(r'^show/(?P\w+/$),vacations\u views.show\u vacation,name='show\u vacation'),
url(r'^show/(?P\w+)/add_destination/$)、休假视图。add_destination_to_休假,name='add_destination_to_休假〕,
它们应该看起来像:
url(r'^show/(?P<vacation_id>\w+)/$', vacations_views.show_vacation, name='show_vacation'),
url(r'^show/(?P<vacation_id>\w+)/add_destination/$', vacations_views.add_destination_to_vacation, name='add_destination_to_vacation'),
url(r'^show/(?P\w+)/$,vacations\u views.show\u vacation,name='show\u vacation'),
url(r'^show/(?P\w+)/add_destination/$,vacations_view.add_destination_to_vacation,name='add_destination_to_vacation'),
vacations\u app/url.py的内容是什么?您是否在settings.py的已安装应用程序中添加了vacations\u app?您能否提供错误的完整回溯?我编辑了这个问题以提供更多详细信息asked@Alasdair我编辑了这个问题,把它包括进去。这应该是一个评论。在任何情况下,这两个都不是语法错误的原因。使用列表而不是模式函数
是声明url模式(cf)@DanielRoseman的新的首选方式。理想情况下,我会发表评论,但我不能,因为我之前发表文章时的声誉是46。我认为乔伊·威廉已经一针见血了。