当我运行以下简单的python / flask时,我没有将整个字符串传递给html页面 - 而不是"你好这是simon"我得到了#34;你好" 我正在研究Python 3.4.2
我认为它可能与编码有关,但我已经尝试了所有我能想到的编码,但仍然没有乐趣。感谢任何帮助:)
这是python文件(testit.py)
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def init_logon():
email = "hello this is simon"
return render_template("testit.html", email=email)
if __name__ == '__main__':
app.debug = True
app.run()
这是简单的模板(testit.html)
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p>
<label for="email">Email</label>
<input type="text" name="email" id="email" value={{ email }}>
</p>
</body>
</html>
来自多个浏览器的输出完全相同:文本在第一个空格处被截断
我的浏览器中显示的所有内容都是:
&#34;你好&#34; - 第一个空白区域之后的文本都没有通过
道歉我不允许发布我创建的图像:(
答案 0 :(得分:3)
在HTML中,您没有引用属性值,因此模板的结果为
<input type="text" name="email" id="email" value=hello this is simon>
这意味着只有“hello”是“value”属性的值。如果查看生成页面的来源,您应该能够看到这一点。
您可以更改模板,使其具有value="{{ email }}"
。