100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Python运维管理系统源代码 基于fastapi异步框架

Python运维管理系统源代码 基于fastapi异步框架

时间:2022-10-21 16:51:27

相关推荐

Python运维管理系统源代码 基于fastapi异步框架

Python运维管理系统源代码,基于fastapi异步框架

部署方式

创建虚拟环境

python -m venv venv

安装依赖库

pip install -r requirements.txt

初始化数据库

alembic init alembic alembic revision --autogenerate -m "first commit" alembic upgrade head --sql > update.sql alembic upgrade head

添加文档白名单

文档uri做了ip过滤,需要连接到数据库,write_ip表中添加可访问ip http://localhost:8000/docs#/

添加管理员账号

运行script/generapwd.py生成密码,编辑数据库sys_user表添加一行用户数据,is_supser字段1 之后登陆/docs进行登陆认证,认证通过后,其他接口便有权限操作

完整程序下载地址:Python运维管理系统源代码

main.py

from fastapi import FastAPI, HTTPExceptionimport osfrom core import routerimport uvicornfrom fastapi.staticfiles import StaticFilesfrom fastapi.exceptions import RequestValidationErrorfrom core import configfrom events import eventsfrom response import http_errorfrom middleware.middleware import init_middlewaresfrom websocket.websocket import Echofrom middleware.request_limit import init_limit__author__ = 'ren_mcc'app = FastAPI(title=config.DOC_TITLE, description="", version=config.DOC_VERSION,docs_url=config.DOC_URL, redoc_url=None)# 加载路由app.include_router(router.api_router, prefix='/api')# 启动关闭事件# app.add_event_handler("startup", events.start_init_db_handler(app))# app.add_event_handler("shutdown", events.stop_shutdown_db_handler(app))app.add_event_handler("startup", events.start_init_sys_api_handler(app))# 异常处理app.add_exception_handler(HTTPException, http_error.http_error_handler)app.add_exception_handler(RequestValidationError, http_error.validation_exception_handler)# 中间件init_middlewares(app)# 挂载静态文件资源目录# app.mount("/static", StaticFiles(directory=os.path.join(os.getcwd(), "static")), name="static")# webSocketapp.add_websocket_route('/ws', Echo)# 初始化限速init_limit(app)if __name__ == '__main__':uvicorn.run(app="main:app", workers=1, host='0.0.0.0', port=8000)

generapwd.py

import hashlibfrom core.config import SECRET_KEY__author__ = 'ren_mcc'def md5_encrypt(pwd: str):md5_hash = hashlib.md5()if pwd:pwd = pwd.encode("utf8")md5_hash.update(pwd)return md5_hash.hexdigest()def sha1_encrypt(pwd: str):sha1_hash = hashlib.sha1()if pwd:pwd = pwd.encode('utf8')sha1_hash.update(pwd)return sha1_hash.hexdigest()def encrypt_password(pwd: str, loginname: str):"""加密密码"""# 先用 md5 加密md5_value = md5_encrypt(pwd + SECRET_KEY)# 再用 sha1 加密final_pwd = sha1_encrypt(md5_value + loginname)return final_pwda = encrypt_password("910202", "admin")print(a)

完整程序下载地址:Python运维管理系统源代码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。