質問

WebアプリでWTFormsを使用しようとしていますが、うまくいきません。

使えるようになりたいのですが、 form_field ドキュメントに示されているように、templatetag:

{% 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 テンプレートを使用した Webapp は私にとって死んだものです。;-)

役に立ちましたか?

解決

私は、Djangoの上でJinja2のテンプレートをお勧めします: http://jinja.pocoo.org/ のそれは、Djangoのテンプレートに基づいていますが、より強力ですそして使いやすいです。私はそれがDjangoのスタックなしでDjangoのテンプレートを使用するのは良いアイデアだとは思いません。あなたはより多くの構造化フレームワークをしたい場合にも、非常に素晴らしいミニマルなフレームワークは、フラスコです: http://www.pocoo.org /プロジェクト/フラスコ/#フラスコに。私は十分にそれらの2つのライブラリを賞賛することはできません。私は、Djangoの中で長い時間を働いていたし、このコンボは非常にスッキリと簡潔であることがわかっています。

P.S。これは、ポート経由に非常に単純なプロセスである必要があります。私はちょうどフラスコを知ったときには、Webアプリケーションのサイト上でポートに私に10分かかっています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top