1

我想开发一个带有动态网址的网络服务。

具有命名组的常见 url 模式将是这样的:

(r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/$', 'news.views.month_archive')

出于我的目的,我需要更多的动态,因为我从一开始就不知道组的数量。

例如,可能的网址可能是:

  • 文章/帖子/评论
  • 文章/帖子/作者
  • 文章/帖子/ ...

我可以使用这样的东西:

(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')

.. 等等。有没有更聪明的方法来做到这一点?提前致谢!

4

1 回答 1

0

等一下,如果您只有 1 篇文章,那么您希望它成为article/post/,否则您希望它成为articles/post/

由于 URL 只是正则表达式,因此您可以执行以下操作

(r'^articles?/post/$', 'some_view')

?测试 0 或 1的s.

但基本上你的网址似乎没有意义,当你写的时候articles/post/comments,听起来你想对所有文章发表评论?和 一样article/post/,是什么意思?您要发布哪篇文章(您只有一篇,最多一篇)?

通常 URL 看起来像articles/5/post/comments,这意味着“我想对 pk 为 5 的文章发表评论”。

对不起,如果我的回答没有帮助。我想我没有真正理解你的问题。

于 2012-05-09T19:46:05.613 回答