Flask轻量级的微服务框架
个人使用,主要用于写接口,或者小规模、低复杂度的项目
路由动态传递
使用同一个视图函数,来显示不同用户的订单信息 <>定义路由的参数,<>内需要起个名字
1 2 3 4 5 6 | @app.route( '/orders/<order_id>' ) def get_order_id(order_id): # 需要在视图函数的()内填入参数名,后面的代码才能使用 return 'order_id %s' % order_id # 有的时候需要对路由做访问优化,ID必须是字符型或者浮点型 # <int:order_id> <float:order_id> |
过滤器
1 2 3 4 5 6 7 8 9 | 大写 upper 小写 lower 反转 reverse 循环 {% for num in my_list %} {% num > 3 %} # 数据大于3才能显示 {{ num }} <br> {% endif %} {% endfor %} |
使用模块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | from flask import Flask, render_template, request, flash, jsonify Flask 扩展,用于开启web服务 app = Flask(__name__) app.secret_key = 'security-guard' # APP启动需要安全密钥 render_template 多用来链接前端页面功能 return render_template( 'security.html' ) request 网站请求,在此框架中主要抓取前端的请求动作和 get 到的form表单信息 request.method == 'POST' request.form. get ( 'username' ) flash 用于网页div返回的信息 flash(u '已发送请求' ) jsonify 用作API接口的返回值 json_api = { "200406001" : [ "json_api1" , "username1" , "password1" ], "200406002" : [ "json_api2" , "username2" , "password2" ], "200406003" : [ "json_api3" , "username3" , "password3" ] } return jsonify(json_api) |
网站请求框架
1 2 3 4 5 6 7 8 9 10 11 | from flask import Flask app = Flask(__name__) @app.route( '/' ) def index(): return { "msg" : "success" , "data" : "welcome to use flask." } if __name__ == '__main__' : app.run(host= '127.0.0.1' , port=5000, debug=True) |
Linux-Flask 安装环境
使用虚拟环境安装Flask,可以避免包的混乱和版本的冲突
虚拟环境使用 virtualenv 创建,可以查看系统是否安装了virtualenv
1 | virtualenv --version |
安装虚拟环境
1 2 | sudo pip install virtualenv sudo pip install virtualenvwrapper |
创建虚拟环境
1 | mkvirtualenv Flask_py |
安装完虚拟环境后,需要配置环境变量 mkvirtualenv
1 2 3 4 5 6 7 8 9 | 1、创建目录来存放虚拟环境 mkdir $HOME/.virtualenvs 2、打开~/.bashrc 添加 export WORKON_HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh 3、运行 source ~/.bashrc<br> 创建虚拟环境 virtualenv Flask_py 进入虚拟环境 source /etc/Flask_py/bin/activate 退出虚拟环境 deactivate |
安装Flask
1 2 | pip install flask==0.10.1 pip freeze > requirements.txt |
服务文件详情
1 2 3 4 5 6 7 8 | bin 主要存放 Python Pip wheel activate flask lib 存放Python的site-packages log 属于自建文件,将不通的操作以json的格式推送到文件下不通的日志文件中 pyvenv.cfg 用来激活虚拟环境的 Flask_py.py 接口启动主程序,内置定义接口、功能、服务启动、日志等操作 static 用于存放此次实验的css文件,用于HTML调用以美化界面 templates 用于存放HTML文件,是导入模块时的render_template链接的前端页面 venv 存放虚拟环境使用的所有依赖 |
封装服务到系统systemctl,以便随时启停服务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [root@HUAWEI zhoujt]# cat /etc/systemd/system/zjtuser.service Unit] Description=user environment After=syslog.target network.target [Service] User=root Group=root Type=simple Restart=always WorkingDirectory=/etc/Flask_py ExecStart=/etc/Flask_py/bin/python Flask_py.py ExecStop=/bin/kill -15 $MAINPID StandardOutput=syslog StandardError=syslog SyslogFacility=local0 SyslogLevel=info [Install] WantedBy=multi-user.target |
随后在服务器访问 127.0.0.1:5000 即可完成。
本文作者:Security
本文链接:https://www.cnblogs.com/security-guard/p/16592606.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!