Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask render_模板正在返回字符串而不是HTML文档_Python_Html_Flask - Fatal编程技术网

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尝试过,但仍然无法正常工作