繁体   English   中英

将数据从 TextField 传递到网页

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM