是否有自定义样式网址的内置或第三方应用程序?
我想要自定义网址,例如:
example.com/article-type/article-name-2015-24-12
如果article-type是从外键创建的,则在url的末尾会有发布日期.
在模板中,我会使用{%url’文章’article.pk%}来称呼它们. (所以将来当我的老板决定更改网址结构时,我无需在任何地方更改它)
有什么相似的吗?如果不是,任何人都可以踢我正确的方向如何实现这样的功能?
最佳答案 您可以在模型上构建URL,覆盖
the get_absolute_url()
method.
像这样的东西
def Something(models.Model):
name = models.CharField(max_length=100)
slug = models.SlugField()
created = models.DateTimeField()
article_type = models.ForeignKey(ArticleTypes)
def get_absolute_url(self):
return '/{}/{}-{}-{}-{}'.format(
self.article_type, self.slug, self.created.year,
self.created.month, self.created.day)
在模板中,您将使用
<a href="{{ something.get_absolute_url }}">{{ something.name }}</a>