3

我有一个自定义的联系表单应用程序,我想将它与 django-cms 集成。据我了解,我必须使用 django-cms 注册应用程序,然后在我看来,我必须返回一个 RequestContext 实例而不是常规上下文实例。所以在我的views.py,我有

return render_to_response('my_template.html',
                          {'form': form},
                          context_instance=RequestContext(request))

我不知道我是否在这里遗漏了什么,但我的问题是我不想硬编码模板名称my_template.html。相反,我希望模板与添加新页面时放置的模板相同,所以我的问题是,有没有办法从托管应用程序的 django-cms 页面获取模板,或者我是否必须对模板进行硬编码要使用的?

4

1 回答 1

5

如果您的 apphook 是安装在 上的单个视图/,您可以只使用{% extends request.current_page.get_template %},但这不适用于您应用中的子页面。

为此,您需要反转应用程序的根视图,cms.utils.page_resolver.get_page_from_requestuse_path参数一起使用以获取页面,然后get_template在页面上调用并扩展它。

于 2011-04-01T08:20:26.547 回答