夹层项目中使用的通用 Formview 中未加载模板

Template not loaded in Generic Formview used in Mezzanine project

我想在夹层项目的主页中添加联系表。首页继承自Pageclass,使用夹层项目完美加载

我在我的项目中创建了一个新的通用视图,并将 urls.py 绑定到它。

class Home(FormView):
   template_name = "index.html"
   form_class = ContactForm
   success_url = '/'

   def get_context_data(self, **kwargs):
       page = Page.objects.get(title='Home')
       return {
           'page': page,
           'params': kwargs,
       }

如果使用 django.test.client 在终端中加载页面,我在 page.homepage 的主页中找到了我想要的内容。

但是根本没有加载模板 index.html。我只得到 base.html。所以找不到基于 {{ page }} 的变量。 index.html 好像被忽略了。

你能帮我看看哪里出了问题吗?例如,我如何测试模板索引?

我不知道为什么没有加载模板。返回的是来自夹层站点包的 index.html,这是我无法理解的。所以我放弃了为我的主页重写一个特殊视图的解决方案。

相反,使用 Mezzanine 重写视图的最简单方法是使用 page_processor。然后一切正常。这里有一个解决方案来解释它:

page processors with mezzanine