gpt4 book ai didi

django - Django 中的@permalink 和get_absolute_url 是什么?

转载 作者:行者123 更新时间:2023-11-28 19:35:00 24 4
gpt4 key购买 nike

Django 中的@permalinkget_absolute_url 是什么?何时以及为什么使用它?

请举一个非常简单的例子(一个真实的实际例子)。谢谢

最佳答案

截至 2013 年,Django 文档不鼓励使用永久链接装饰器,并鼓励在 get_absolute_url 方法的主体中使用 reverse()。到 2015 年,永久链接装饰器似乎已经消失,从 Django 文档中消失得无影无踪,最终还是 removed in Django version 2.1 2018 年。

因此,对于创建指向单个对象 View 的永久链接的标准 DRY 方法,请在您的模型中使用 get_absolute_url() ,如下所示:

from django.db import models
from django.urls import reverse
# NOTE: pre Django 1.10+ this is "from django.core.urlresolvers import reverse"


class MyModel(models.Model):
slug = models.SlugField()

def get_absolute_url(self):
return reverse('mymodel_detail', args=(self.slug,))

然后在 urls.py 中有一个指向您的 View 的条目:

url(r'^(?P<slug>[-\w\d\_]+)/$',
MyModelDetailView.as_view(),
name='mymodel_detail'),

关于django - Django 中的@permalink 和get_absolute_url 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13503645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com