Django 自定义 url 结构
Django custom url structure
是否有用于自定义样式的 urls 的任何内置或第 3 方应用程序?
我想要自定义 url,例如:
example.com/article-type/article-name-2015-24-12
其中文章类型是从外键创建的,并且在 url 的末尾会有发布日期。
在模板中,我会使用 {% url 'article' article.pk %}
来调用它们。 (这样以后我老板决定改url结构的时候我就不用到处改了)
有这样的吗?如果没有,谁能告诉我如何实现这样的功能?
您可以在模型上构建 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>
是否有用于自定义样式的 urls 的任何内置或第 3 方应用程序?
我想要自定义 url,例如:
example.com/article-type/article-name-2015-24-12
其中文章类型是从外键创建的,并且在 url 的末尾会有发布日期。
在模板中,我会使用 {% url 'article' article.pk %}
来调用它们。 (这样以后我老板决定改url结构的时候我就不用到处改了)
有这样的吗?如果没有,谁能告诉我如何实现这样的功能?
您可以在模型上构建 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>