gpt4 book ai didi

Django Slug 在 get_absolute_url 中不起作用

转载 作者:行者123 更新时间:2023-12-04 04:47:25 27 4
gpt4 key购买 nike

这段代码有什么问题? get_absolute_url在我的模板中呈现时为空白,这意味着它在某处失败。

我怀疑这是 slug,因为这是我第一次尝试在 Django 中使用它:

谢谢

型号:

class Entry(models.Model):
title = models.CharField(max_length=200)
slug = models.SlugField(max_length=255, unique=True)

def get_absolute_url(self):
return reverse("EntryDetail", kwargs={"slug": self.slug})

网址:
 url(r'^entry/(?P<slug>[^\.]+).html',
blog_views.EntryDetail.as_view(),
name='blog_entry'),

查看:
class EntryDetail(DetailView):

context_object_name = 'entry'
template_name = "blog.entry.html"
slug_field = 'slug'

def get_object(self):
return get_object_or_404(Entry, url=self.slug_field)

最佳答案

根据@Peter DeGlopper 在评论中的陈述:看起来您尝试使用 获取绝对 URL基于类的 View .请勿使用 反向 在这里,您应该始终为您的 URL 命名,然后引用该名称。

例如,它应该是这样的:

型号

@models.permalink
def get_absolute_url(self):
return 'blog_entry', (), {'slug': self.slug}

网址
url(r'^entry/(?P<slug>[^\.]+).html',
blog_views.EntryDetail.as_view(),
name='blog_entry'),

关于Django Slug 在 get_absolute_url 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17975617/

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