Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-URL文件处的语法错误_Python_Django_Django Urls - Fatal编程技术网

Python Django-URL文件处的语法错误

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

我的基本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_应用程序,其中确实有一个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。我认为乔伊·威廉已经一针见血了。