Python Flask render_模板正在返回字符串而不是HTML文档
我有这个功能:Python Flask render_模板正在返回字符串而不是HTML文档,python,html,flask,Python,Html,Flask,我有这个功能: def run(): if request.method == 'POST': print(request.form['id_num']) # fix later else: return render_template("
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>
文件夹层次结构正确;我有一个名为templates的文件夹,它与我正在运行的python文件存储在同一个位置
你知道它为什么格式不正确吗?这个错误是因为在某个时候,我在电脑的默认文本编辑器中打开了这个文件,我想它可能被破坏了。我不确定为什么,因为我以前在其中打开过.py文件,没有任何问题
我修复了这个问题,创建了一个新文件并用emacs编辑它,然后重新键入它,它没有那么大我只是在使用Flask RESTPlus时遇到了这个问题。这是因为我在API中定义了路由,将内容类型头设置为application/json而不是HTML。我不确定你的问题是否正确。您的意思是您可以在浏览器中看到此输出吗?如果是,您能否显示响应浏览器时附带的HTTP头?@webwurst很抱歉造成混淆:是的,我在浏览器中将代码视为输出。此外,我还尝试过手动设置标题,如图所示:但仍然不起作用。您可以使用一些debug/log语句检查else部分是否真的执行了吗?只是为了确保没有其他方式分发模板。@webwurst尝试过,但仍然无法正常工作