- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
Django 文档说:
get_absolute_url()
method to tell Django how to calculate the canonical URL for an object.
在这种情况下,规范 URL 是什么意思?
从 SEO 的角度来看,我知道规范 URL 意味着从外观相似的 URL(example.com
、example.com/index.html
)中选择最佳 URL。但是这个意思不适合这个上下文。
我知道这个方法在 Django 管理、重定向等方面提供了一些额外的功能。我完全知道如何使用这个方法。
但它背后的理念是什么?我从未真正在我的项目中使用过它。它有什么特殊用途吗?
最佳答案
首先,当涉及到网络开发时,您真的希望避免在模板中硬编码路径。这样做的原因是路径可能会改变,并且遍历所有 HTML 和模板以查找每个 URL 或路径并手动更新它会很麻烦。它使您的代码更难维护。
对此的解决方案是定义返回 URL 的函数。这就是 get_absolute_url()
发挥作用的地方。
例子:
<!-- Bad -->
<a href="/language/category/product/{{product.pk}}">Link</a>
<!-- Good -->
<a href="{{product.get_absolute_url}}">Link</a>
您的第二个问题是规范 URL 是什么。规范 URL 是特定页面的“官方”URL。有时一个 Assets 可以显示在多个不同的 URL 中,例如:
/en/shoes/1-nike-shoes/
/en/shoes/1-nike-shoes?sort=price&order=asc
/en/shoes/1-nike-shoes?sort=price&order=desc
这里我们在 3 个不同的 URL 中显示了相同的 Assets 。 “规范 URL”将是我们定义为主要 URL 的那个。例如。 /en/shoes/1-nike-shoes/
.
定义特定 Assets 的官方或“主要”URL 非常有用。当搜索引擎索引您的网站时,它将允许您防止重复内容。
在您从 Django 文档中使用的引用的上下文中。在这种情况下,“规范”表示“显示此模型的官方 URL”。
关于python - 什么时候使用 Django get_absolute_url() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43179875/
我有一个简单的“post”模型,它代表我的博客的一个条目: class Post(models.Model): title = models.CharField('title', max_le
我正在尝试制作一个用于列出 django_tables 的通用表格对象。我的一切正常,除了 User 对象上的 get_absolute_urls() 返回: /users// 虽然我可以创建此 UR
您好,我正在创建站点地图,它在我的本地机器上运行良好,但在生产服务器中出现错误object has no attribute 'get_absolute_url'。我有课 class Car(mode
尝试访问我的 sitemap.xml 时,我收到此错误: 'Account' object has no attribute 'get_absolute_url' on line 112. 109.
def get_absolute_url(self): return ('threads_reply', [self.id]) get_absolute_url = model
我对 Django 和编写测试还很陌生。我目前正在从事一个项目,该项目有两个模型,Project 和 Technologies。项目模型与技术模型具有多对多关系。我有一个覆盖 get_queryset
我正在尝试在我的一个模型中对 get_absolute_url 使用 reverse。但是,它返回空白字符串。 网址.py url( regex=r'^$', view=Society
刚开始玩 django,对 get_absolute_url 功能感到困惑。 当我尝试访问某个对象的 url 时,出现了 NoReverseMatch 错误。这是堆栈跟踪 $ python manag
我有一个包含多对多字段的模型,我需要从多对多字段中选择一个 ID。我用 permaling 装饰器装饰了 get_absolute_url 方法。但这不起作用。所以我明白我需要反转关系,从跟踪中很明显
我想在 Django 中启用站点地图生成,所以我执行以下操作,它是如何解释的 here 型号: class Car(models.Model): def __unicode__(self):
这段代码有什么问题? get_absolute_url在我的模板中呈现时为空白,这意味着它在某处失败。 我怀疑这是 slug,因为这是我第一次尝试在 Django 中使用它: 谢谢 型号: class
当我在模板中调用我的模型 get_absolute_url 方法时,我想要一个绝对/完整的 url。在我的入门模型中,我有以下内容: def get_absolute_url(self): r
我正在尝试在 get_absolute_url() 中使用反向函数,但它没有为 View 找到正确的反向匹配。我的 url.py 没有任何错误,因为我可以通过 url“traildetail/4”等访
使用 Django 的分页器和模型方法 get_absolute_url 有什么特殊规则吗?我试图调用这个方法,但它不起作用? 这是我的模板: {% for product in products.
我正在研究 Practical Django Proects,但遇到了困难。我收到错误: Caught ViewDoesNotExist while rendering: Tried tagged_o
我想了解使用 get_absolute_url 调用而不是 url 模板标记有什么好处。 get_absolute_url: class Project(models.Model): @perm
我是 django 的新手,我已经搜索过这个问题,但找不到解决方案。如果解决方案很明显但我似乎无法正确解决,请原谅我。 所以,这就是问题所在。我有两个模型 Parishioner 和 Communit
Django 文档说: get_absolute_url() method to tell Django how to calculate the canonical URL for an objec
刚刚进入 Django Rest Framework。 我有一个简单的示例运行,其中模型通过 REST API 呈现。模型中没有相关字段,只有一堆字符串。 展示 get_absolute_url()
如果我有这样的模型: class Article(models.Model): title = models.CharField(max_length=200) # ... rest
我是一名优秀的程序员,十分优秀!