Flask轻量级的微服务框架
个人使用,主要用于写接口,或者小规模、低复杂度的项目
路由动态传递
使用同一个视图函数,来显示不同用户的订单信息 <>定义路由的参数,<>内需要起个名字
@app.route('/orders/<order_id>')
def get_order_id(order_id):
# 需要在视图函数的()内填入参数名,后面的代码才能使用
return 'order_id %s' % order_id
# 有的时候需要对路由做访问优化,ID必须是字符型或者浮点型
# <int:order_id> <float:order_id>
过滤器
大写 upper
小写 lower
反转 reverse
循环
{% for num in my_list %}
{% num > 3 %} # 数据大于3才能显示
{{ num }} <br>
{% endif %}
{% endfor %}
使用模块
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)
网站请求框架
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
virtualenv --version
安装虚拟环境
sudo pip install virtualenv sudo pip install virtualenvwrapper
创建虚拟环境
mkvirtualenv Flask_py
安装完虚拟环境后,需要配置环境变量 mkvirtualenv
1、创建目录来存放虚拟环境 mkdir $HOME/.virtualenvs 2、打开~/.bashrc 添加 export WORKON_HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh 3、运行 source ~/.bashrc
创建虚拟环境 virtualenv Flask_py 进入虚拟环境 source /etc/Flask_py/bin/activate 退出虚拟环境 deactivate
安装Flask
pip install flask==0.10.1 pip freeze > requirements.txt
服务文件详情
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,以便随时启停服务
[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 即可完成。

浙公网安备 33010602011771号