【问题标题】:Why is my Django URL Dispatcher not working?为什么我的 Django URL Dispatcher 不工作?
【发布时间】:2011-06-27 23:26:36
【问题描述】:

我真的很困惑为什么我的 URL 调度程序与这个 url 不匹配

http://127.0.0.1:8000/2011/jun/26/third-entry/

这就是我的主要 url 调度程序的样子

urlpatterns = patterns('',
    (r'^admin/', include(admin.site.urls)),
    (r'^blog/', include('djangoblog.blog.urls')),
)

在我的博客文件夹中,我还有另一个 url 调度程序

urlpatterns = patterns('django.views.generic.date_based',
    #regex is passed to object_detail which is the name of the generic view that will pull out a single entry
    (r'^(?P<year>d{4})/(?P<month>[a-z]{3})/(?P<day>w{1,2})/(?P<slug>[-w]+)/$', 'object_detail', dict(info_dict, slug_field='slug',template_name='blog/detail.html')),
)

我也试过这个网址,没有运气

http://127.0.0.1:8000/blog/2011/jun/26/third-entry/

我一定错过了一些非常简单的东西......

【问题讨论】:

  • “Django URL Dispatcher”不是问题。因此,请将您问题的主题编辑为问题。

标签: python django url dispatcher


【解决方案1】:

你的正则表达式是错误的。

(?P&lt;year&gt;d{4}) 应该是(?P&lt;year&gt;\d{4})

这同样适用于 URI 的其他部分:

  • (?P&lt;day&gt;\d{1,2})
  • (?P&lt;slug&gt;[-\w]+)

【讨论】:

  • 另外,始终在您的 URL 中包含 /blog/,因为这些 URL 是从该应用程序发送的! :)
猜你喜欢
  • 2021-01-18
  • 2012-06-08
  • 2020-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多