深造迭代 池化 +调|

Security

园龄:5年3个月粉丝:24关注:37

📂Python
🔖python
2022-08-16 18:50阅读: 537评论: 0推荐: 0

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 中国大陆许可协议进行许可。

posted @   Security  阅读(537)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 像风一样 এ萘狸.🦩
  2. 2 你(吉他甜蜜版) এ萘狸.🦩
  3. 3 黑月光 এ萘狸.🦩
  4. 4 永不失联的爱 এ萘狸.🦩
  5. 5 你不是第一个离开的人 এ萘狸.🦩
黑月光 - এ萘狸.🦩
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.