我有这个功能:
def run():
if request.method == 'POST':
print(request.form['id_num'])
# fix later
else:
return render_template("apprun.html")
现在,它始终直接指向else语句,但是render_template函数无法正常工作。而不是完全格式化的HTML页面,我得到的代码就像是一个字符串。具体来说,我的网页显示的是html,而不是阅读并正确显示html:
<!DOCTYPE html>
<html>
<head>
<title>Rips Lab</title>
</head>
<body>
<style type="text/css">
html {
background-color: #E4E0EE;
}
body {
font-family: "Helvetica","Arial";
font-size: 20px;
color: #000000;
}
</style>
<form>Enter participant ID number: <input type="number" name="id_num" pattern="^[0-9]*$" required></form>
<br><br>
<p name="data"></p>
</body>
</html>
文件夹层次结构正确;我有一个名为“模板”的文件夹,与我正在运行的python文件存储在同一位置。
知道为什么格式不正确吗?
答案 0 :(得分:0)
该错误是因为在某个时候,我已经在计算机的默认文本编辑器中打开了该文件,我猜它以某种方式损坏了它。我不确定为什么,因为我之前在其中打开.py文件没有问题。
我通过创建一个新文件并使用emacs对其进行编辑,然后重新键入(不是很大)来解决了该问题
答案 1 :(得分:0)
我在使用Flask-RESTPlus时遇到了这个问题。事实证明是因为我将路由定义为API的一部分,该路由将content-type
标头设置为application/json
而不是HTML。