我想开发一个带动态网址的网络服务。
具有命名组的常见url模式将是这样的:
(r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/$', 'news.views.month_archive')
出于我的目的,我需要更多动态,因为我从一开始就不知道群组的数量。
E.g。可能的网址可能是:
我可以使用这样的东西:
(r'^(?P<cat1>)/(?P<cat2>)/$', 'module.views.function')
(r'^(?P<cat1>)/(?P<cat2>)/(?P<cat3>)/$', 'module.views.function')
(r'^(?P<cat1>)/(?P<cat2>)/(?P<cat3>)/(?P<cat4>)/$', 'module.views.function')
.. 等等。有更聪明的方法吗?提前谢谢!
答案 0 :(得分:0)
等等,如果您只有1篇文章,那么您希望它是article/post/
,否则您希望它是articles/post/
?
由于URL只是正则表达式,因此您可以执行类似
的操作(r'^articles?/post/$', 'some_view')
?
测试s
中的0或1。
但从根本上说,您的网址似乎没有意义,当您撰写articles/post/comments
时,听起来您想在所有文章上发表评论?与article/post/
相同,这意味着什么?你想发布哪篇文章(你只有一篇,最多一篇)?
通常网址看起来像articles/5/post/comments
,这意味着&#34;我想在文章上发表评论,其中pk为5&#34;。
很抱歉,如果我的回答没有帮助。我想我真的不明白你的问题。