python - 在 Google App Engine 上将 WTForms 与 webapp 和 Django 模板结合使用

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

我正在尝试将 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/

相关文章:

css - 正确使用CSS文件中的模板语言

python - 控制对系统各部分以及某些信息的访问

python - 从 celery 任务中调用 async_result.get()

java - Google 应用程序引擎 - java.lang.NoClassDefFoundError : com. google.appengine.api.datastore.DatastoreServiceFactory

google-app-engine - 如何通过覆盖默认 .gcloudignore 设置将 .env 文件上传到 gcloud

java - 使用 int 调用 setProperty 但 getProperty 返回 Long on google app engine persistent storage

Django模板标签确定 "a"或 "an"

jquery - Bootstrap 模态 "shown.bs.modal"不会改变我在模态内的复选框

python - 是否可以阻止模块/全局类变量创建单元测试实例?

python - 在 opencv-2.4.10 构建期间设置 PYTHON_LIBRARY