如何在Django中创建类似URL命名约定的WordPress?

时间:2012-07-05 16:58:12

标签: django django-urls

我是Django和WordPress的新手,如果你创建一个名为“hello world”的帖子,那么默认情况下的URL就像

  

wordpress.com/2012/07/05/hello-world /

如果你创建另一个同名的帖子,它将是

  

wordpress.com/2012/07/05/hello-world-2 /

我想在Django中实现相同的目标,我想创建一个像这样的urlconf示例

(r'^articles/(\d{4})/(\d{2})/(?P<name>\w+)', 'article.views.article_detail')

并在视图中分解名称并遍历所有项目并匹配名称。

但问题是我将无法动态引用帖子。对于例如如果我要链接一个你好世界的帖子,我需要找出已经有多少同名的帖子,然后将附加的号码附加到它,这是低效的。

那么在Django中最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

请参阅Django {{ url }} template tag的文档。它允许您传递视图名称和参数,并自动为您生成正确的URL。

您可以在生成其slug的函数中为每个帖子的名称添加数字 - 您可以查看django-autoslug