[英]Passing data from TextField to webpage
我在 Django 中有一个带有TextField
的模型。 我想通过该TextField
将信息传递到网页上
return render(request, 'index.html', {
'textFieldValue': textFieldValue,
'context': RequestContext(request),
})
我遇到的问题是,由于TextField
可以包含新行,因此当它通过执行以下操作传递到我的网页时:
var textFieldValue = "{{ textFieldValue }}";
它成为了:
var textFieldValue = "Testing string is this.
New line abcde
Second new lineabcde";
由于TextField
中有几行并因此破坏了 JavaScript var 模板,这将返回错误。有没有办法解决这个问题? 我是否需要将字符串拆分为每行的数组,然后将其传递到我的网页中,并有一个函数来解析它?
我也试过:
var textFieldValue = "{{ textFieldValue|safe }}";
但它是一样的。
我想这样做是因为我想将它粘贴到我页面上的textarea
,它看起来像TextField
应该在 Django 管理中显示的内容。
我想将来会出现诸如"
或'
引号和@#
等符号的问题。
我这样做的最佳方法是什么?
您可以使用 Django 内置的escapejs
过滤器( 此处为文档):
{{ value|escapejs }}
例如,如果值为
"testing\\r\\njavascript \\'string" <b>escaping</b>"
,则输出将为"testing\\\ \\\ javascript \\\'string\\" \\\ escaping\\\ "
。
注意:这不会使字符串在 HTML 中使用安全,但可以在使用模板生成 JavaScript/JSON 时保护您免受语法错误的影响。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.