django的url处理问题?

新手上路,请多包涵

设置url和view后点击超链接无法跳转到详情页
model:

clipboard.png

url:

clipboard.png

view:

clipboard.png

超链接:

clipboard.png

clipboard.png

无法跳转到详情页面,求指教

阅读 2.5k
3 个回答

建议讲[0-9]+改为 \d+ 试一下

新手上路,请多包涵

因为urlpatterns的第一个元素的正则匹配了任何的地址,所以请求被第一个元素匹配到映射到index函数处理,未发生跳转

你也知道,django的urls是入口urls.py文件和各个子urls.py拼接的,所以没看到整个urls匹配路径没发准确的判断问题。
下面我举个例子,看能否帮助你找到问题:

1,假如我请求的url地址是: https://xxx.xxx.xxx.xxx/a/b/1/
2,入口urls.py有个匹配规则是:url(r'^a/', include('apps.myapp.urls')),注意是r'^a/',而不是r'^a/'$
3,myapp的urls.py有个匹配规则是:url(r'^b/(?P<pk>[0-9]+)/$', Myapp.as_view(), name="myapp")

此时请求路径/a/b/1/是先会被入口urls.py的条规则匹配到,匹配之后,将请求路径截短为b/1/交给myapp的urls.py,让myapp的urls.py再去匹配
myapp的urls.py的规则就会匹配b/1/,最后交给Myapp去处理了。

不知道你理解我说的意思没,哈哈!你可以去看下关于django urls.py这块的文档,然后回头开发,磨刀不误砍材工的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题