1

あまり運がなくても、webapp で WTForms を使用しようとしています。

form_fieldドキュメントに示されているように、テンプレートタグを使用できるようにしたいと思います。

{% form_field form.username class="big_text" onclick="do_something()" %}

アプリケーションに WTForms を正常にインストールしましたが、その Django テンプレート タグが機能しません。これをインストールする方法についての指示はありますか?

これが機能しない場合は、おそらくあきらめて、Jinja2 テンプレートに切り替えるでしょう。これまで Django を使用してきた理由は、依存関係の数をできるだけ制限するためです。


これが私がこれまでに試したことです:

Django 1.1 をローカルにインストールし、ドキュメントに従って有効にしました。

私に追加しようとしINSTALLED_APPS = ['wtforms.ext.django']ましたsettings.py- 効果はありません。

wtforms templatetag を手動で登録してみました:.

register = webapp.template.create_template_register()

from wtforms.ext.django.templatetags import wtforms

register.tag('form_field', wtforms.do_form_field)

これによりエラーが発生しました:InvalidTemplateLibrary: Could not load template library from template_helpers, No module named django.templatetags

そこで、テンプレート タグを自分のコードにコピー アンド ペーストしようとしたところ、エラーが発生しましTemplateSyntaxError: Could not parse the remainder: ' form.foobar' from 'form_field form.foobarた。

ただし、そのコードがなくてもエラーは同じだったので、テンプレートタグの登録は機能していないと思います。


更新:インターネット上の誰かがいつか回答できるように、この質問を残していますが、Jinja2 に切り替えたところ、すべてが完全に機能するようになりました。Django テンプレートを使用した Web アプリケーションは、私にとっては死んだものです。;-)

4

1 に答える 1

5

django よりも jinja2 テンプレートをお勧めします: http://jinja.pocoo.org/これは django テンプレートに基づいていますが、より強力で使いやすいものです。Django スタックなしで Django テンプレートを使用するのは良い考えではないと思います。また、より構造化されたフレームワークが必要な場合は、非常に優れたミニマリスト フレームワークが Flask です: http://www.pocoo.org/projects/flask/#flask。これらの 2 つのライブラリを十分に称賛することはできません。私は Django で長い間働いていましたが、この組み合わせは非常に新鮮で簡潔であることがわかりました。

PS これは、移植するための非常に簡単なプロセスである必要があります。Flask について知ったばかりのとき、ウェブアプリ サイトを移植するのに 10 分かかりました。

于 2010-11-17T18:24:34.473 に答える