1

メインテンプレート(base.htmlと呼びます)と、分離されたビューによってレンダリングされたいくつかの追加のサブページを備えたサイトがあります。base.htmlにメニューがあり、オプションの1つをクリックすると、jqueryダイアログが表示されます。このダイアログ内にdjangosフォームを配置したいと思います。また、このダイアログで、ロードされているビューに関係なくデータを送信できるようにしたいと思います。フォームからデータを復活させるデコレータを使用する必要があると思います。このデコレータには、ajax依存コードが含まれている必要がありますか?


問題を明確にします。

jQueryダイアログウィンドウを含むbase.htmlテンプレートがあり、そこにdjangoフォームを配置したいと思います。また、それぞれview1、view2によってレンダリングされるtemplate1.html、template2.htmlなどもあります。template1.html、template2.htmlはbase.htmlを拡張します。したがって、base.htmlを継承するテンプレートをレンダリングするすべてのビューにフォーム処理コードを配置する必要があります。それは避けたいと思います。

4

1 に答える 1

0

テンプレートの継承を使用するだけです。

# base.html
...
<div id="dialog">
 {% block dialog %}
   {% form_for_base.as_table %}
 {% endblock %}
</div>
...

dialogそして、別のテンプレートでブロックをオーバーライドします:

# template.html
{% extends "base.html" %}

{% block dialog %}
  {% form_for_template.as_table %}
{% endblock %}
于 2012-07-29T09:12:08.917 に答える