如何从 Django 模板/上下文中更改为字符串并删除 '?
Posted
技术标签:
【中文标题】如何从 Django 模板/上下文中更改为字符串并删除 \'?【英文标题】:How to change to string and remove ' from Django tempalates / context?如何从 Django 模板/上下文中更改为字符串并删除 '? 【发布时间】:2017-03-07 23:18:13 【问题描述】:我目前有一个 unicode 格式的日期:
k = u'2015-02-01'
我尝试将其添加到列表中并将其更改为字符串:
date = []
date.append(str(k))
然后我想将它作为 Django 上下文传递给我的模板。
但是,日期显示如下:
'2015-02-01'
我如何摆脱 $#39;并用双引号 (") 替换它?
非常感谢。
【问题讨论】:
【参考方案1】:您可以尝试在模板中防止字符串转义,如下所示:
variable|safe
视野内方式:
from django.utils.safestring import mark_safe
from django.template import Context
data=mark_safe(data)
inescapable = Context('data': data, autoescape=False)
【讨论】:
有没有办法在我将转义字符串作为上下文参数传递之前删除它?我尝试了 .strip() 并不太奏效。 看看这个答案***.com/questions/18211286/… 还有这个***.com/questions/8774902/…【参考方案2】:我知道这是旧的,但其他人可能会遇到同样的问题
试试
% autoscape off % date % endautoscape %
对我来说效果很好
【讨论】:
【参考方案3】:从谷歌图表请求图表时,数据必须作为文本数组发送。 csv 文件必须是没有撇号的纯文本。
然而
代码片段
data = repr(textData)
返回以 ' ' 为界的数据
这在 html 中被解释为“'”
解决这个问题的方法是 javascript split 方法
var par = textData.split(""&#39") textArray = par[1] // the part without '
其余代码
【讨论】:
以上是关于如何从 Django 模板/上下文中更改为字符串并删除 '?的主要内容,如果未能解决你的问题,请参考以下文章
我将如何在 Django 模板标签中使用模板上下文变量的值? [复制]
对于 Django 模板 %url% 标签,我如何从通用视图上下文中找到所有 URL 参数,而不仅仅是最后一个?