【问题标题】:How to create a WordPress like URL naming convention in Django?如何在 Django 中创建类似 WordPress 的 URL 命名约定?
【发布时间】:2012-07-05 16:58:11
【问题描述】:

我是 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 中最好的方法是什么?

【问题讨论】:

    标签: django django-urls


    【解决方案1】:

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

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

    【讨论】:

    • 我将如何处理附加数字?
    • 实际上 autoslug 也能做到这一点!谢谢
    猜你喜欢
    • 2011-01-21
    • 2018-11-04
    • 1970-01-01
    • 2011-08-25
    • 2020-11-02
    • 1970-01-01
    • 2021-09-11
    • 2010-09-28
    相关资源
    最近更新 更多