我在models.py文件中有以下代码,我想知道它是如何在django框架的urls.py/rest中使用的。它给了我什么好处?
@models.permalink
def get_absolute_url(self):
return('catalog_category',(), {'category_slug':self.slug})
如何使用此方法?
答案 0 :(得分:2)
这可用于返回包含当前对象的网址。如果您的模型和网址与@ models.permalink相关联。
一个例子可能是这样的
{% for offer in offers %}
{{offer.title}}
{{offer.get_absolute_url}}
在urls.py文件中查看你的related_names,应该有一个与.get_absolute_url函数相关的文件。
但是,如果您使用相同的模型返回多个网址,但是在不同的视图上。仍然可以使用.get_absolute_url。只是使用不同的语法,例如{% url url_related_name id=id %}
id,您的实例中需要slug=offer.slug
答案 1 :(得分:1)
基本上,它用于避免必须在urls.py文件和models.py文件中指定模型的URL方案(Django非常DRY)。