1

我正在尝试将 WTForms 与 webapp 一起使用,但运气不佳。

我希望能够使用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 模板标签:。

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

4

1 回答 1

5

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

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

于 2010-11-17T18:24:34.473 回答