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 %}