要使用FastAPI创建一个后台登录页面,可以按照以下步骤进行操作:
- 首先,确保已安装FastAPI和其依赖项。可以使用pip进行安装:
pip install fastapi
- 创建一个名为
main.py
的文件,并在其中编写代码:
from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
from fastapi.security import HTTPBasic, HTTPBasicCredentials
app = FastAPI()
app.mount("/static", StaticFiles(directory="static"), name="static")
templates = Jinja2Templates(directory="templates")
security = HTTPBasic()
@app.get("/")
def login_form(request: Request):
return templates.TemplateResponse("login.html", {"request": request})
@app.post("/login")
def login(credentials: HTTPBasicCredentials = security):
if credentials.username == "admin" and credentials.password == "password":
return {"Login": "Success"}
else:
return {"Login": "Failed"}
- 创建一个名为
templates
的文件夹,并在其中创建一个名为login.html
的HTML模板文件:
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<form action="/login" method="post">
<div>
<label for="username">Username:</label>
<input type="text" id="username" name="username">
</div>
<div>
<label for="password">Password:</label>
<input type="password" id="password" name="password">
</div>
<div>
<input type="submit" value="Login">
</div>
</form>
</body>
</html>
-
创建一个名为
static
的文件夹,并在其中添加任何所需的静态文件(例如CSS文件、图像等)。 -
运行项目:
uvicorn main:app --reload
- 现在,可以通过访问 http://localhost:8000/ 来访问登录页面。输入用户名为 “admin” 和密码为 “password”,然后点击登录按钮。如果用户名和密码匹配,将显示 “Login: Success”,否则将显示 “Login: Failed”。
这只是一个简单的示例,用于展示如何在FastAPI中创建一个后台登录页面。可以根据自己的需求进行定制和扩展。