【问题标题】:Django template filter - one lineDjango模板过滤器 - 一行
【发布时间】: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';    

无效!

【问题讨论】:

    标签: javascript django templates filter


    【解决方案1】:

    阅读您的用例,您似乎并不想删除行。如果您的表单标签之一包含 ' 字符怎么办?糟糕,您的 javascript 现在无效。 Django 带有一个名为 escapejs 的过滤器,我们正是使用它来解决这个问题。

    使用 escapejs,您可以输入:

    var newDivText = '{{ form.as_p|escapejs }}'
    

    而且您不必担心任何字符会破坏您的 javascript。

    【讨论】:

    • 没错!没想过单引号转义,因为 as_p 用的是双引号,不是单引号,但是我现在看到的,escapejs 真的是我需要的!
    猜你喜欢
    • 2013-11-27
    • 2012-06-03
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 2023-04-11
    • 2013-03-16
    相关资源
    最近更新 更多