python - 为什么 Django 2.2.1 不调用 get_absolute_url()
问题描述
文档指出,如果get_absolute_url()
在模型上定义了方法,则在 Django Admin 中用于“在站点上查看”按钮:
Django 使用 get_absolute_url() 的地方之一是在管理应用程序中。如果一个对象定义了这个方法,对象编辑页面将有一个“现场查看”链接,它将直接跳转到对象的公共视图,由 get_absolute_url() 给出。
经过一段时间的调试,我想知道为什么不调用它。然后我发现在Django的源代码中甚至没有调用它。
elif self.view_on_site and hasattr(obj, 'get_absolute_url'):
# use the ContentType lookup if view_on_site is True
return reverse('admin:view_on_site', kwargs={
'content_type_id': get_content_type_for_model(obj).pk,
'object_id': obj.pk
})
是虫子吗?
解决方案
推荐阅读
- list - Prolog:如何检查列表是否包含来自众多事实的列表
- regex - 使用 re.finditer 从多项式中提取数字
- c# - C# 形式的堆栈,Push 的继续按钮
- facebook - public_profile 是否需要 Facebook 应用审核
- r - R:用移位的数据行按列扩展数据框
- arrays - Swift UserDefaults 从数组中获取值
- bash - 如果任何 subshell 失败,则 Bash 完全失败
- jenkins - Accessing plugins in jenkins shared library classes
- css - 删除默认焦点轮廓并更改为不同的颜色
- javascript - 基本 React 表单提交刷新整个页面