[英]How to render umlauts with jinja2?
我正在尝试使用jinja2渲染一些基本的变音符号。
的test.html
<!doctype html>
<link type="text/css" rel="stylesheet" href="style.css"/>
<meta charset="UTF-8">
<h3>Umlauts: ä ü ö</h3>
Result.html
<!doctype html>
<link type="text/css" rel="stylesheet" href="style.css"/>
<meta charset="UTF-8">
<h3>Umlauts: ä ü ö</h3>
我的密码
from jinja2 import Template
file = open("test.html")
data = file.read()
Template(data).stream().dump("index.html")
现在,我不明白如何让jinja正确处理变音符。 我怎样才能做到这一点? 我正在使用流,因为在我的实际用例中,我提供了一些数据来填充,然后将其转储到html中以进行显示。
编辑:是我想要什至可能吗? 当我明白这个从这里难道不是吗?
无法使用Jinja2处理非Unicode数据。 原因是Jinja2已经在语言级别使用Unicode。 例如,Jinja2将不间断空格视为表达式内的有效空白,这需要了解编码或对Unicode字符串进行操作。
使用Python3,您可以使用open
指定编码。
from jinja2 import Template
file = open("test.html", 'r', encoding='utf-8')
data = file.read()
Template(data).stream().dump('index.html')
对于Python2,您可以使用io模块指定编码。
import io
file = io.open("test.html", 'r', encoding='utf-8')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.