簡體   English   中英

FastAPI NameError:未定義名稱“請求”

[英]FastAPI NameError: name 'Request' is not defined

我正在松散地遵循關於構建全棧交易應用程序並嘗試使用 FastAPI 和 uvicorn 運行此腳本的教程。 我真的找不到我的錯誤,也不知道我在做什么,所以非常感謝任何幫助。

編碼:

import sqlite3, config
from fastapi import FastAPI
from fastapi.templating import Jinja2Templates

app = FastAPI()
templates = Jinja2Templates(directory="templates")

@app.get("/")
def index(request: Request):
    connection = sqlite3.connect(config.DB_FILE)
    connection.row_factory = sqlite3.Row
    cursor = connection.cursor()

    cursor.execute("""
        SELECT id, symbol, name FROM stock order by symbol
    """)

    rows = cursor.fetchall()

    return templates.TemplateResponse("index.html", {"request": request, "stocks": rows})

@app.get("/stock/{symbol}")
def index(request: Request, symbol):
    connection = sqlite3.connect(config.DB_FILE)
    connection.row_factory = sqlite3.Row
    cursor = connection.cursor()

    cursor.execute("""
        SELECT id, symbol, name FROM stock WHERE symbol = ?
    """, (symbol,))

    row = cursor.fetchall()

    return templates.TemplateResponse("stock_detail.html", {"request": request, "stock": row})

錯誤

line 9, in <module>
    def index(request: Request):
NameError: name 'Request' is not defined

非常感謝您抽出寶貴的時間

您需要導入請求 class。

請將第 2 行更改為: from fastapi import FastAPI, Request

您需要導入Request 替換了你的第一行:

from fastapi import FastAPI, Request

暫無
暫無

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

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