yan*_*nik 6 python django wagtail
我没有找到更新Wagtail CMS页面上下文的正确方法.
例如,我有我的主页模型:
class HomePage(Page):
about = RichTextField(blank=True)
date = models.DateField(auto_now=True)
content_panels = Page.content_panels + [
FieldPanel('about', classname="full")
]
class Meta:
verbose_name = "Homepage"
Run Code Online (Sandbox Code Playgroud)
我还希望在该页面上包含一些第三方信息.在我的情况下它的论坛.写一些ViewMixin会很棒,比如:
class ForumMixin(object):
pass
# add latest forums to context
Run Code Online (Sandbox Code Playgroud)
我可以通过编写我的Django CBV来做到这一点,但我真的想知道Wagtail Native Way.谢谢!
gas*_*man 15
您可以通过覆盖get_context页面模型上的方法来执行此操作:
class HomePage(Page):
def get_context(self, request):
context = super(HomePage, self).get_context(request)
context['forums'] = Forum.objects.all()
return context
Run Code Online (Sandbox Code Playgroud)
这使得变量forums在您的模板上可用.