为什么我们需要使用 'get_absolute_url()' 而不是自定义定义的类似方法?

下面是我的标签模型类中使用的get_absolute_url()方法:

def get_absolute_url(self):
    return reverse('post_by_tag', args=[self.slug])

以下是我在模板中访问它的方式:

<a href="{{ tag.get_absolute_url }}">{{ tag }}</a>

它工作正常。但是,如果我在模型和模板文件中将其更改为get_abs() 之类的方法名称,它仍然有效。

由于我可以使用自定义方法,我只想知道是否有任何特定理由使用 get_absolute_url() 作为获取 URI 的方法名称。或者,这只是一个约定?

我正在使用 Python 3.6.6 和 Django 2.1。


三国纷争
浏览 130回答 1
1回答

互换的青春

使用特定名称的原因get_absolute_url是 Django 中有各种内置功能,如果提供了该名称,将使用该名称。一个例子是在基于类的通用编辑视图中,该方法将用作成功保存后重定向到的目标。另一个例子是在管理员中,如果存在,对象更改页面上的“现场查看”链接将使用该方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python