Google App Engine用フレームワーク「Kay」のフォームを使うときの注意点
「Google App Engine用フレームワーク「Kay」のフォームを使うときの注意点」より。
Google App Engine用フレームワーク「Kay」のフォームを使うときの注意点
Google App Engine用フレームワーク「Kay」ではcallタグを使用して、フォームの表示をカスタマイズすることができます。
{% call form() %}
{{ form.message.errors()|safe }}
{{ form.message.label()|safe }}
{{ form.message.render()|safe }}
{% endcall %}
ところが、一部のプロパティ名ではエラーになってしまいます。
たとえば次のコード。
from kay.utils import forms
class MyForm(forms.Form):
name = forms.TextField(){% call form() %}
{{ form.name.label()|safe }}
{{ form.name.render()|safe }}
{{ form.name.errors()|safe }}
{% endcall %}
このコードを実行すると、次のエラーメッセージが表示されます。
UndefinedError: ‘label’ is undefined
nameプロパティの名前を変更すると、エラーは発生しません。
どうやらnameプロパティは使用できないようです。
他にも使用できない名前があるようです。(要調査)
2010年6月6日追記
新しいカスタマイズの方法が導入されました。
この方法なら、属性名による問題は起きません。
{% call form() %}
{{ form['name'].label()|safe }}
{{ form['name'].render()|safe }}
{{ form['name'].errors()|safe }}
{% endcall %}