gpt4 book ai didi

django - 如何从 HomePage(Page) 重定向到您的自定义应用程序模型

转载 作者:行者123 更新时间:2023-12-01 13:22:44 25 4
gpt4 key购买 nike

我创建了一个应用程序“博客”。在我的应用程序中,我有几个模型,包括“BlogIndex(Page)”。当我运行本地服务器时,我发现自己位于“home_page.html”。我想要的是在“blog_index.html”上启动我的本地服务器。我知道我可以在 settings>site>localhost 上设置一个根页面,使我的“blog_index.html”成为一个根页面,但我不能这样做,因为在我的应用程序中我有一些其他模型级别为“BlogIndex(Page)”,它们是“HomePage”根的子级,因此它会阻止我的代码。所以我的问题是:我可以从“主页(页面)”重定向到我的“博客索引”,这样当我启动我的服务器时,我会自动从“主页”重定向到“博客索引”?我该怎么做?它会在多大程度上影响网站的性能及其优化?

我知道有设置>重定向,但它仅适用于非事件页面,但我需要“主页”处于事件状态。
谢谢你。

最佳答案

也许更好的方法是在主页上显示您的博客文章(以及您想要的任何其他模型)。只需覆盖 get_context()。看这里:Wagtail Views: extra context

更新:
您可以通过覆盖 serve() 方法来重定向。例如,在您的模型中,您将执行以下操作:

# home/models.py
...
from django.http import HttpResponseRedirect
from django.urls import reverse

class HomePage(Page):
body = RichTextField(blank=True)

content_panels = Page.content_panels + [
FieldPanel('body', classname="full"),
]

def serve(self, request):
# Redirect to blog index page
return HttpResponseRedirect('/blog/')

# only do this if you're using urls.py and namespaces
# return HttpResponseRedirect(reverse('blog:index'))

更多信息: http://docs.wagtail.io/en/latest/reference/pages/model_recipes.html?highlight=serve()#overriding-the-serve-method

关于django - 如何从 HomePage(Page) 重定向到您的自定义应用程序模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49260052/

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