簡體   English   中英

運行 Flask 應用程序時出現內部服務器錯誤

[英]Internal Server Error when running Flask App

真的很感謝你的幫助! 我是 Flask 的初學者,用它來構建 API。

當執行以下代碼片段並在 vs-code 終端中運行代碼時,它似乎在http://127.0.0.1:5000/上運行該應用程序。

但是,當我在終端中單擊 URL 以在瀏覽器中啟動 URL 並希望顯示“Hello World”時,它會在頁面上顯示“內部服務器錯誤”。 然后打印“應用程序中的錯誤:/[GET] 上的異常”。

代碼:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    print('Hello World!')

app.run(port=5000)

終端:

WKMGB0671549:REST-APIs josshepp$ python3 app_copy.py
 * Serving Flask app "app_copy" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Hello World!
[2019-07-11 08:51:50,920] ERROR in app: Exception on / [GET]
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app
    response = self.full_dispatch_request()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
    return self.finalize_request(rv)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/flask/app.py", line 1967, in finalize_request
    response = self.make_response(rv)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/flask/app.py", line 2097, in make_response
    "The view function did not return a valid response. The"
TypeError: The view function did not return a valid response. The function either returned None or ended without a return statement.
127.0.0.1 - - [11/Jul/2019 08:51:50] "GET / HTTP/1.1" 500 -

您的視圖函數未返回有效響應。 簡而言之,返回“Hello World!” 而不是打印它:

@app.route('/')
def home():
    return 'Hello World!'

Flask 會自動為您將幾種類型的返回值轉換為 Response,但您可以閱讀它們如何轉換(鏈接):

視圖函數的返回值會自動轉換為您的響應對象。 如果返回值是一個字符串,它會被轉換為一個響應對象,該字符串作為響應主體、一個 200 OK 狀態代碼和一個 text/html mimetype。

如果術語視圖函數令人困惑,flask 將其描述為(鏈接):

視圖函數是您編寫的用於響應應用程序請求的代碼。 Flask 使用模式將傳入的請求 URL 與應該處理它的視圖進行匹配。 該視圖返回 Flask 轉換為傳出響應的數據。

暫無
暫無

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

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