其他分享
首页 > 其他分享> > Flask轻量级的微服务框架

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 即可完成。

 

标签:__,框架,Flask,app,py,json,虚拟环境,轻量级
来源: https://www.cnblogs.com/security-guard/p/16592606.html