第一次提交
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
import os
|
||||
import uvicorn
|
||||
from fastapi import FastAPI
|
||||
from fastapi.staticfiles import StaticFiles
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from database import engine, Base
|
||||
|
||||
#导入模型
|
||||
from model.classes_model import Classes
|
||||
from model.student_info import Student
|
||||
from model.scores import Scores
|
||||
from model.employments import Employments
|
||||
from model.teachers import Teacher
|
||||
from model.counselor import Counselor
|
||||
|
||||
#导入路由
|
||||
from api import student as student_api
|
||||
from api import score as score_api
|
||||
from api import employment as employment_api
|
||||
from api import analysis as analysis_api
|
||||
from api import teachers as teachers_api
|
||||
from api import class_api
|
||||
from api import counselor_api
|
||||
|
||||
#创建 FastAPI 应用
|
||||
app = FastAPI(title="学生管理系统API", version="1.0")
|
||||
|
||||
#配置跨域
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
allow_origins=["*"],
|
||||
allow_credentials=True,
|
||||
allow_methods=["*"],
|
||||
allow_headers=["*"],
|
||||
)
|
||||
|
||||
#注册路由
|
||||
app.include_router(student_api.router)
|
||||
app.include_router(score_api.router)
|
||||
app.include_router(employment_api.router)
|
||||
app.include_router(analysis_api.router)
|
||||
app.include_router(teachers_api.router)
|
||||
app.include_router(class_api.router)
|
||||
app.include_router(counselor_api.router)
|
||||
|
||||
#挂载前端静态文件
|
||||
if not os.path.exists("static"):
|
||||
os.makedirs("static")
|
||||
app.mount("/ui", StaticFiles(directory="static", html=True), name="static")
|
||||
|
||||
|
||||
@app.get("/")
|
||||
def root():
|
||||
return {"message": "欢迎使用沃林学生管理系统,前端请访问 http://127.0.0.1:8001/ui/"}
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 建表
|
||||
Base.metadata.create_all(bind=engine)
|
||||
# host 必须为 0.0.0.0 才能在 Docker 容器外访问;本地运行 127.0.0.1:8001 依然有效
|
||||
host = os.getenv("HOST", "0.0.0.0")
|
||||
port = int(os.getenv("PORT", "8001"))
|
||||
uvicorn.run("main:app", host=host, port=port, reload=False)
|
||||
Reference in New Issue
Block a user