美文网首页
Django 的 slug url 正则匹配

Django 的 slug url 正则匹配

作者: Tim_Lee | 来源:发表于2017-07-18 15:46 被阅读0次

如果按照 .* 去匹配,最后会把 /edit//delete/ 也匹配进去。

urlpatterns = [
    #...
    url(r'^(?P<slug>.*)/$', post_detail, name='detail'),
    url(r'^(?P<slug>.*)/edit/$', post_update, name='update'),
    url(r'^(?P<slug>.*)/delete/$', post_delete),
]

所以使用 [-\w+] 表示匹配 - 符号(短横线 hyphen),以及所有小写的英文字母。

urlpatterns = [
    #...
    url(r'^(?P<slug>[-\w]+)/$', post_detail, name='detail'),
    url(r'^(?P<slug>[-\w]+)/edit/$', post_update, name='update'),
    url(r'^(?P<slug>[-\w]+)/delete/$', post_delete),
]

相关文章

网友评论

      本文标题:Django 的 slug url 正则匹配

      本文链接:https://www.haomeiwen.com/subject/amdhkxtx.html