将Django App与django-cms集成

时间:2011-04-01 00:31:33

标签: python django django-cms

嘿伙计们。我有一个自定义的联系表单应用程序,我想将它与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页面获取模板,或者我必须硬编码要使用的模板?

1 个答案:

答案 0 :(得分:5)

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

为此您需要撤消应用的根视图,使用带有cms.utils.page_resolver.get_page_from_request参数的use_path来获取页面,然后在页面上调用get_template并进行扩展。