gpt4 book ai didi

python - Django 管理界面上的链接断开

转载 作者:太空宇宙 更新时间:2023-11-03 19:37:03 24 4
gpt4 key购买 nike

我目前正在阅读《实用 Django 项目》,在 Django 管理界面中,输入信息时有一个“现场查看”选项。

但是在读完本书的第 5 章后,我开始修改管理界面,发现使用我的类别应用程序单击此链接不起作用,因为它没有将博客附加到 URL,因此它们看起来像这样:

http://127.0.0.1:8000/categories/test-cat

当他们应该像这样的时候......

http://127.0.0.1:8000/weblog/categories/test-cat

但是在我的条目模型上它们运行得非常好。因此,我尝试查看“条目”应用程序中的正确内容,以找出“类别”应用程序中的错误内容。

我已经找了大约 2 个小时,但我无法确定 Django 是在哪里执行此操作的。我什至从网上复制了源代码,尽管其中一些似乎丢失了。

我的 get_absolute_url() 如下:

def get_absolute_url(self):
return "/categories/%s/" % self.slug

我编辑为:

def get_absolute_url(self):
return "/weblog/categories/%s/" % self.slug

它解决了问题。

我现在的问题是,为什么 Entries 应用程序不需要这个,而 Category 应用程序却需要?

我的 Entry 类代码:

def get_absolute_url(self):
return ('coltrane_entry_detail', (), { 'year': self.pub_date.strftime("%Y"),
'month': self.pub_date.strftime("%b").lower(),
'day': self.pub_date.strftime("%d"),
'slug': self.slug })
get_absolute_url = models.permalink(get_absolute_url)

最佳答案

它在模型上使用 get_absolute_url() 方法。改变它,它应该可以工作:)

[编辑]对于编辑后的问题。在类别模型中,您使用硬编码链接,而在条目模型中使用永久链接。我建议您在这两个位置使用永久链接来解决问题。

以下是有关如何使用它的文档:http://docs.djangoproject.com/en/dev/ref/models/instances/#the-permalink-decorator

关于python - Django 管理界面上的链接断开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3077909/

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