波括弧のエスケープ
djangoでフォームをレンダリングするとき、{{ form }}って書ければ楽なんだけど、デザインの都合でそうはいかない場合もある。
django shellでデザインになるべく合わせた雛形を出力して、コピペして細かいところを修正するとよいかも。
>>> form = SampleForm() >>> for field_name, _ in form.fields.iteritems(): print """<div> <label for="{{{{ form.{0}.label }}}}">{{{{ form.{0}.label_tag }}}} {{% if form.{0}.field.required %}} (必須){{% endif %}}</label> {{{{ form.{0}.error }}}}{{{{ form.{0} }}}} </div>""".format(field_name) <div> <label for="{{ form.name.label }}">{{ form.name.label_tag }} {% if form.name.field.required %} (必須){% endif %}</label> {{ form.name.error }}{{ form.name }} </div> <div> <label for="{{ form.age.label }}">{{ form.age.label_tag }} {% if form.age.field.required %} (必須){% endif %}</label> {{ form.age.error }}{{ form.age }} </div>
str.formatでの波括弧のエスケープについて
上記のように波括弧は波括弧でエスケープできる