python web-Django html模板特殊符号冲突

模板

作为Python Web 框架,Django 需要一种很便利的方法以动态地生成HTML,最常见的做法是使用模板。模板包含所需HTML 输出的静态部分,以及一些特殊的语法,描述如何将动态内容插入。

Django 项目可以配置一个或多个模板引擎。Django 的模板系统自带内建的后台-称为Django 模板语言(DTL),以及另外一种流行的Jinja2。其他的模板语言的后端,可查找第三方库。

问题

在使用layui的时候,需要使用到layui数据表格的模板,这时候就遇到{{}}转义的问题。在django中{{}}是获取变量值,这就跟前段的layui的模板冲突了,这时候就需要django不转译指定的内容。

lay-filter="autotaskviews_table" lay-size="xm">

编号

任务名称

任务类型

自定义参数

创建者

执行状态

创建时间

执行时间

执行结果

查看详情

{{# if(d.status == 'Y'){ }}

已执行

{{# } else if(d.status == 'N') { }}

执行

{{# } else if(d.status == 'R') { }}

执行中

{{# } }}查看

解决方法

从Django 1.5开始,支持{% verbatim %}标签(verbatim的意思是逐字翻译的,字面意思的),Django不会渲染verbatim标签包裹的内容,因此修改内容为:

{% verbatim %} {{# if(d.status == 'Y'){ }}

已执行

{{# } else if(d.status == 'N') { }}执行

{{# } else if(d.status == 'R') { }}

执行中

{{# } }} {% endverbatim %}查看

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180606A231O400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券