【问题标题】:json unicode to string so i can use that in django html pagejson unicode 到字符串,所以我可以在 django html 页面中使用它
【发布时间】:2014-08-29 22:07:22
【问题描述】:

已编辑:

有人告诉我如何解码 unicode。我只想将 json unicode 打印到我开发的 html 页面中。我从heroku api 获得了 api。

我几乎正确地遵循了每一步。但输出是 unicode,我不知道如何提取内容并显示到我的页面中。

我需要打印内容。怎么做 ?

我的意见.py

template_vars['kural'] = json.dumps(thirukural[x])
        t = loader.get_template('index.html')
        c = Context(template_vars)
        #pprint.pprint(c)

        return HttpResponse(t.render(c))

HTML页面

  <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head><body>

<p id="p"></p>

<script type="text/javascript">
var t = {{kural|safe}}
var text = eval(t);
var p = document.getElementById("p");
p.innerHTML=t.kural;
</script>
</body></html>
</body>
</html>

目前是这样打印的

யாதனின் யாதனின் நீங்கியான் நோதல் அதனின் அதனின் இலன்.

但是在 heroku api 页面中,示例输出是这样打印的

  {
  "id": "213",
  "kural": "புத்தே ளுலகத்தும் ஈண்டும் பெறலரிதே\n\nஒப்புரவின் நல்ல பிற."
  }

您可以看到我的输出没有 line breaks that \n 。我该怎么做?

【问题讨论】:

  • 你试过 {{kural|safe}} 吗?
  • thirukural[x] 包含与打印在 HTML 页面中相同的内容
  • 是的,我试过 {{ kural|safe }} 也只是结果相同......

标签: python json django unicode


【解决方案1】:

kural 变量是一个dict,如果你想在视图中显示kural,我认为你需要json。

import json
template_vars['kural'] = json.dumps(thirukural[x])

【讨论】:

  • 好吧,我尝试了您的建议。它删除了 u',而 html 没有任何改变,所以我的朋友想出了一个主意。我编辑了我的问题,请查看并帮助我。
  • 我是如何在stackoverflow中提出这个问题的
【解决方案2】:

我相信您想要做的是将您显示视图代码的第一行更改为:

template_vars['kural'] = thirukural[x].encode('ascii', 'xmlcharrefreplace')

这应该把所有东西都变成 HTML 实体,它最终会看起来像这样:

'&#2953;&#2994;&#2965;&#2990;&#3021; &#2980;&#2996;&#3008;&#2951;&#2991; &#2980;&#3018;&#2975;&#3021;&#2986;&#2990;&#3021; &#2990;&#2994;&#2992;&#3021;&#2980;&#2994;&#3009;&#2990;&#3021;\n\n&#2965;&#3010;&#2990;&#3021;&#2986;&#2994;&#3009;&#2990;&#3021; &#2951;&#2994;&#3021;&#2994; &#2980;&#2993;&#3007;&#2997;&#3009;.'

【讨论】:

  • 现在错误是'dict'对象没有属性'encode'
  • 实际上它只是替换了字符,但我需要从那个 unicode 返回文本。我怎样才能得到它?
  • 这些字符是 HTML 实体,当您在模板中输出它们时,它们应该在 Web 浏览器中正确呈现。不过,您可能必须通过安全过滤它。
  • 好吧,我放弃了。我试过安全但回来我累了。无论如何,现在输出预期的内容,但换行符无法正常工作。你能指导我吗
猜你喜欢
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
  • 2013-02-10
  • 1970-01-01
  • 2017-06-19
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多