在Google App Engine上使用WTForms和webapp以及Django模板

时间:2010-11-17 18:07:16

标签: python google-app-engine django-templates wtforms

我正在尝试使用带有webapp的WTForms而没有太多运气。

我希望能够使用form_field模板标签,如文档中所示:

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

我在我的应用程序中安装了WTForms,但它的Django模板标签对我不起作用。有没有人有关于如何安装这个的说明?

如果我无法正常工作,我可能会放弃并切换到Jinja2模板。到目前为止我们与Django保持一致的原因是尽可能地限制依赖的数量。


这是我到目前为止所尝试的内容:

我已在本地安装Django 1.1并启用它per the documentation

我尝试将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对我来说已经死了。 ; - )

1 个答案:

答案 0 :(得分:5)

我推荐django上的jinja2模板:http://jinja.pocoo.org/它基于django模板,但更强大,更易于使用。我不认为在没有django堆栈的情况下使用Django模板是个好主意。此外,如果你想要一个更结构化的框架,一个非常好的极简主义框架是Flask:http://www.pocoo.org/projects/flask/#flask。我不能赞美这两个图书馆。我在Django工作了很长时间,发现这个组合非常清爽简洁。

P.S。这应该是一个非常简单的移植过程。当我刚刚发现Flask时,我花了10分钟移植一个webapp网站。