Django模板过滤器 - 一行
Posted
技术标签:
【中文标题】Django模板过滤器 - 一行【英文标题】:Django template filter - one line 【发布时间】:2011-04-12 16:09:51 【问题描述】:我正在寻找一个 Django 模板过滤器,它可以将多行结构变成一条大行。有没有人实施过? 原因是 - 我有一个表单,form.as_p 创建了一个多行 html 片段,我想创建一个 html 片段的 javascript 变量,但是当我这样做时:
var new_div_text = 'form.as_p';
它不起作用。原因很明显,在像
这样的javascript结构中var hello = 'Hello
world';
无效!
【问题讨论】:
【参考方案1】:阅读您的用例,您似乎并不想删除行。如果您的表单标签之一包含 ' 字符怎么办?糟糕,您的 javascript 现在无效。 Django 带有一个名为 escapejs 的过滤器,我们正是使用它来解决这个问题。
使用 escapejs,您可以输入:
var newDivText = ' form.as_p|escapejs '
而且您不必担心任何字符会破坏您的 javascript。
【讨论】:
没错!没想过单引号转义,因为 as_p 用的是双引号,不是单引号,但是我现在看到的,escapejs 真的是我需要的!以上是关于Django模板过滤器 - 一行的主要内容,如果未能解决你的问题,请参考以下文章
“模板语法错误:过滤器无效:”;基于 django 文档的自定义 django 模板过滤器损坏,但模板标签有效