【问题标题】:Django app urls not working properlyDjango 应用程序网址无法正常工作
【发布时间】:2016-12-25 19:51:03
【问题描述】:

我有以下基本网址文件:

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^agenda/', include('planner.urls', namespace='planner', app_name='planner'))
]

我的规划器应用包含以下网址:

urlpatterns = patterns('', 
    url(r'^', SkirmList.as_view(), name='agenda'),
    url(r'^skirm/(?P<pk>\d+)/$', SkirmDetailView.as_view(), name='skirmdetailview'),
)

我遇到的问题是:http://localhost:8000/agenda/skirm/41/ 它不断加载 SkirmList 视图而不是 SkirmDetailView。

这对大多数人来说可能很明显,但我是 Django 的初学者。任何帮助表示赞赏,谢谢

【问题讨论】:

  • planner.app 中第一个 url 中的正则表达式可能需要额外的东西:url(r'^$', SkirmList.as_view(), name='agenda'),。目前它匹配所有内容。

标签: python django url django-urls


【解决方案1】:

正则表达式r'^' 匹配任何字符串。它只是说字符串需要有一个开始。每个字符串都有一个开头,所以...

您还需要包含一个结束锚:

url(r'^$', ...)

此正则表达式查找字符串的开头,紧随其后的是结尾,即一个空字符串。它与/agenda/skirm/41/ 网址不匹配。

【讨论】:

  • 是的!而已!我已经为此苦苦挣扎了 2 天 xD。谢谢!
  • 如果是这样,请标记为已回答。 :)
  • 是的,我得等几分钟才可以;)
猜你喜欢
  • 1970-01-01
  • 2012-01-02
  • 1970-01-01
  • 2014-06-24
  • 1970-01-01
  • 2017-11-06
  • 1970-01-01
  • 2016-12-12
相关资源
最近更新 更多