这应该是一个简单的问题.我在Django中有两个url模式:
url(r'^wiki/page/(?P<page_title>.*)', views.wiki_view, name = 'wiki_view'),
url(r'^wiki/page/$', views.wiki_page_index, name = 'wiki_page_index'),
Run Code Online (Sandbox Code Playgroud)
当我访问/ wiki/page/test时,它会将我带到views.wiki_view.这是对的.我需要第一个模式来捕获"page /"之后的所有字符,这就是我使用的原因.*
当我访问/ wiki/page /时,它也会将我带到views.wiki_view.这是不正确的.
我可以改变第二个url模式:
url(r'^wiki/page/$', views.wiki_page_index, name = 'wiki_page_index'),
Run Code Online (Sandbox Code Playgroud)
因此,当我访问/ wiki/page时,它将带我到views.wiki_page_index.但我宁愿解决问题而不是避免它.
如何格式化第一个url模式,以便它不会获取/ wiki/page /的实例?
将第一个更改为:
url(r'^wiki/page/(?P<page_title>.+)', views.wiki_view, name = 'wiki_view'),
Run Code Online (Sandbox Code Playgroud)
将第二个放在当前第一个之前.
http://docs.djangoproject.com/en/dev/topics/http/urls/("Django 按顺序遍历每个URL模式,并在第一个匹配请求的URL的位置停止.")
| 归档时间: |
|
| 查看次数: |
7438 次 |
| 最近记录: |