使用FastAPI创建一个后台登录页面

要使用FastAPI创建一个后台登录页面,可以按照以下步骤进行操作:

  1. 首先,确保已安装FastAPI和其依赖项。可以使用pip进行安装:
pip install fastapi
  1. 创建一个名为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"}
  1. 创建一个名为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>
  1. 创建一个名为static的文件夹,并在其中添加任何所需的静态文件(例如CSS文件、图像等)。

  2. 运行项目:

uvicorn main:app --reload
  1. 现在,可以通过访问 http://localhost:8000/ 来访问登录页面。输入用户名为 “admin” 和密码为 “password”,然后点击登录按钮。如果用户名和密码匹配,将显示 “Login: Success”,否则将显示 “Login: Failed”。

这只是一个简单的示例,用于展示如何在FastAPI中创建一个后台登录页面。可以根据自己的需求进行定制和扩展。在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值