- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我用 Python 网络框架“Pyramid ”开始了一个项目,使用模板引擎“变色龙”。
我是这个框架的初学者,但我必须为客户使用它。
我按照步骤安装框架,然后开始编码,仅用于培训目的!
我的第一个应用程序是一个愚蠢、简单的 CRUD 应用程序。
我正在做的是:
在我的 __init__.py
中,对于每个 View ,我都有以下代码:
config.add_view('myenglishdictionary.views.modify',route_name='modify_route',renderer='templates/base.pt')
base.pt 是带有页眉和页脚的主模板以及带有以下代码的 div:
<div>${body}</div>
在我的文件 view.py 中,每个 View 都有两行,如下所示:
body = render('templates/list.pt',{'list':list ,'project':'myProject'}, request=request)
return {'body':body}
在我的 list.pt 中有将嵌入 base.pt 的内容
一切似乎都很好。但是在更新库之后,现在我无法正确看到我的模板。
代替实际的 html 代码的是 html 实体:
<div class="clear"></div>
所以,显然页面看起来不太好。
问题似乎出在 render 方法上,因为 base.pt 模板的 html 显示正确。
最佳答案
默认情况下,使用 ${}
语法对包含的文本进行转义(以帮助抵御 XSS 注入(inject)攻击)。
相反,使用 structure:
前缀告诉渲染引擎不要转义您的文本:
<div>${structure: body}</div>
关于python - Pyramid 、变色龙和模板渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7769062/
我创建了一个包含以下代码片段的 .pt 模板 ${password_confirm} 我的问题是 password_confirm 字段并不总是由 Pyramid 框架呈现,因此它显示以下错
我想将宏与 Pyramid +ZPT引擎(Chameleon)一起使用。 文档说“单个页面模板可以容纳多个宏”。 http://chameleon.readthedocs.org/en/latest/
我是一名优秀的程序员,十分优秀!