找不到包含模式

时间:2016-06-10 15:34:41

标签: django

我有一个与django和urls.py文件相关的问题。 我在本教程中创建了一个来自openclassroom的小程序。 我已经能够在projectname文件夹/ urls.py中正确设置URL以使其工作。现在我想将URL放在app文件夹中并在项目名称文件夹/ urls.py中引用它们,但是当我尝试使用该页面时,它告诉我它不存在。 我使用的是python 3.4和django 1.9.7。 该程序名为creps_bretonnes。

我的creps_bretonnes / urls.py :(我尝试过不同版本的urlpatterns但没有成功)

 from django.conf.urls import patterns, include, url
from django.contrib import admin
from blog import views
"""
urlpatterns = [
    # url(r'^accueil$', views.home),
    # url(r'^blog/', 'blog.urls'),
    # url(r'^blog/', include('blog.urls')),
    url(r'^blog/', include('blog.urls')),

]
"""
urlpatterns = patterns('',
    url(r'^blog/', include('blog.urls')),
)

我的blog.urls.py:

from django.conf.urls import patterns, include, url
from . import views

#urlpatterns = patterns('blog.views',
#    url(r'^accueil$', 'home'),
#)
urlpatterns = [
    url(r'^accueil$', views.home),
]

这是我从页面http://localhost:8000/blog/accueil/

获得的消息

找不到页面(404)

请求方法:GET

请求网址:http://localhost:8000/blog/accueil/

使用creps_bretonnes.urls中定义的URLconf,Django按以下顺序尝试了这些URL模式:

  1. ^ blog / ^ accueil $
  2. 当前网址blog / accueil /并不匹配其中任何一个。

    您看到此错误,因为您的Django设置文件中有DEBUG = True。将其更改为False,Django将显示标准的404页面。

    我被困在这里,不知道如何继续。有人可以帮忙吗?

    谢谢, SP

1 个答案:

答案 0 :(得分:0)

您尝试了网址http://localhost:8000/blog/accueil(没有尾部斜杠),但您的网址格式为^accueil$(没有斜杠)。

您可以将网址格式更改为:

url(r'^accueil/$', views.home),

或者您可以访问http://localhost:8000/blog/accueil处的现有网址格式。

使用Django,在url模式中包含尾部斜杠更为常见,因此我建议采用第一种方法。