3

カスタムのContactFormAppがあり、それを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_requestし、use_path引数とともに使用してページを取得してから、ページを呼び出しget_templateて拡張する必要があります。

于 2011-04-01T08:20:26.547 に答える