簡體   English   中英

Flask render_template 返回一個字符串而不是 HTML 文檔

[英]Flask render_template is returning a string instead of HTML document

我有這個功能:

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 文件存儲在同一位置。

知道為什么它的格式不正確嗎?

我在使用 Flask-RESTPlus 時遇到了這個問題。 事實證明這是因為我將路由定義為我的 API 的一部分,它將content-type標頭設置為application/json而不是 HTML。

錯誤是因為在某些時候,我在計算機的默認文本編輯器中打開了該文件,我猜它以某種方式損壞了它。 我不太確定為什么,因為我之前在其中打開了 .py 文件,沒有任何問題。

我通過創建一個新文件並用 emacs 編輯它來解決這個問題,然后重新輸入它(它不是那么大)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM