Django - URL 文件中的语法错误
Django - SyntaxError at URL file
我的基础 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)),
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_app,并且其中确实有一个 urls.py 文件。错误如下:
invalid syntax (urls.py, line 10)
相反,如果我从 include 函数中删除单引号,错误将是:
name 'vacations_app' is not defined
如果我完全删除第 10 行,应用程序将正常运行。但我不明白为什么。这一行的结构与第 7 行(包含管理 url 的那一行)完全相同。
vacations_app/urls.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'),
]
可以在此处找到完整的错误跟踪:http://dpaste.com/2A1B6DS
有人可以帮助我吗?
您是否已将应用程序 (vacations_app) 作为 INSTALLED_APPS
添加到您的 settings.py
中?我对你的 urlpatterns = []
也有点怀疑,因为我的一些项目有 urlpatterns = patterns()
。
如果可能,你能分享你的settings.py
(省略身份信息)吗?
您的 vacations_app/urls.py 中的第 10 行和第 11 行似乎有两个额外的右括号。现在您有:
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<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 中的 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)),
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_app,并且其中确实有一个 urls.py 文件。错误如下:
invalid syntax (urls.py, line 10)
相反,如果我从 include 函数中删除单引号,错误将是:
name 'vacations_app' is not defined
如果我完全删除第 10 行,应用程序将正常运行。但我不明白为什么。这一行的结构与第 7 行(包含管理 url 的那一行)完全相同。
vacations_app/urls.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'),
]
可以在此处找到完整的错误跟踪:http://dpaste.com/2A1B6DS
有人可以帮助我吗?
您是否已将应用程序 (vacations_app) 作为 INSTALLED_APPS
添加到您的 settings.py
中?我对你的 urlpatterns = []
也有点怀疑,因为我的一些项目有 urlpatterns = patterns()
。
如果可能,你能分享你的settings.py
(省略身份信息)吗?
您的 vacations_app/urls.py 中的第 10 行和第 11 行似乎有两个额外的右括号。现在您有:
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<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'),