我正在尝试将 WTForms 与 webapp 一起使用,但运气不佳。
我希望能够使用 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 模板标签:。
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
。
但是,我认为 templatetag 注册不起作用,因为没有该代码,错误是一样的。
更新:我把这个问题留了下来,以防有一天互联网上有人可以回答这个问题,但我切换到 Jinja2,现在一切正常。带有 Django 模板的 Webapp 对我来说已经死了。 ;-)
最佳答案
我推荐 jinja2 模板而不是 django:http://jinja.pocoo.org/它基于 django 模板,但更强大且易于使用。我认为在没有 Django 堆栈的情况下使用 Django 模板不是一个好主意。另外,如果你想要一个更结构化的框架,一个非常好的简约框架是 Flask:http://www.pocoo.org/projects/flask/#flask .我怎么称赞这两个图书馆都不为过。我在 Django 工作了很长时间,发现这个组合非常清爽简洁。
附言这应该是一个非常简单的移植过程。当我刚发现 Flask 时,我花了 10 分钟来移植一个 webapp 站点。
关于python - 在 Google App Engine 上将 WTForms 与 webapp 和 Django 模板结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4207590/