Google App Engine 渲染和 Django 表单
Posted
技术标签:
【中文标题】Google App Engine 渲染和 Django 表单【英文标题】:Google App Engine render and Django forms 【发布时间】:2012-10-15 06:08:47 【问题描述】:我正在尝试在我的 Google App Engine 项目中使用 Django 表单,使用模板系统。但是我不知道如何正确呈现表单。从 python 代码调用 form.as_p () 时,我得到了预期的 html,
<p><label for="id_name">Name:</label> <input type="text" name="name" id="id_name" /></p>
然而,当我从模板中调用 form.as_p 时,我却得到了
<p><label for="id_name">Name:</label> <input type="text" name="name" id="id_name" /></p>
这是我的渲染方法
def render(self, name, **data):
"""Render a template"""
if not data:
data =
self.response.out.write(template.render(
os.path.join(
os.path.dirname(__file__), 'templates', name + '.html'),
data))
正在调用渲染方法:
form = PostForm()
self.render('toplevel', parent=user, items=user.establishments(), form=form)
最后是模板:
% block content %
form.as_p
% endblock content %
【问题讨论】:
【参考方案1】:将模板中的表单更改为:
% block content %
form.as_p|safe
% endblock content %
这应该可以防止 as_p 中的 HTML 被转义。见:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#safe
【讨论】:
以上是关于Google App Engine 渲染和 Django 表单的主要内容,如果未能解决你的问题,请参考以下文章
Google Cloud 中的 Google Compute Engine、App Engine 和 Container Engine 有啥区别?
连接 Google App Engine 和 Google Compute Engine
Google App Engine Flexible 和 Google Container Engine 之间的区别?