flask 详解一

from flask import Flask, render_template, request, redirect, url_for, json, Response
import requests
from werkzeug.utils import secure_filename
import os
import redis
from flask_cors import CORS

app = Flask(__name__, template_folder='templates')


@app.route('/')
def index():
    return render_template('upload.html')


@app.route('/findAllPics')
def hello_world():
    r = redis.StrictRedis(host='172.16.37.50', port=6379, db=2, decode_responses=True)
    smembers = r.smembers("img_list")
    s = list(smembers)
    print(s)
    t = {}
    t['c'] = s
    return Response(json.dumps(t), mimetype='application/json')


@app.route('/upload', methods=['POST', 'GET'])
def upload():
    if request.method == 'POST':
        f = request.files['file']
        basepath = os.path.dirname(__file__)  # 当前文件所在路径
        upload_path = os.path.join(basepath, r'fileuploads', secure_filename(f.filename))  # 注意:没有的文件夹一定要先创建,不然会提示没有该路径
        f.save(upload_path)
        url_dis = "http://172.18.102.168:8080/zx_ocr_bl"
        files = {'image_file': open(upload_path, 'rb')}
        res = requests.post(url=url_dis, files=files)

        dumps = json.dumps(res.text, sort_keys=True, indent=2, ensure_ascii=False)
        return Response(dumps, mimetype='application/json')


if __name__ == '__main__':
    CORS(app, supports_credentials=True)
    app.run(debug=True, host='0.0.0.0', port=5000)
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>upload模块快速使用</title>
    <link rel="stylesheet" href="../static/layui/css/layui.css" media="all">
</head>
<style>
    #ddd {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
    }
</style>
<body>

<div id="ddd">
    <div>
        <button type="button" class="layui-btn" id="test1" style=" 400px;">
            <i class="layui-icon">&#xe67c;</i>上传图片
        </button>
    </div>
    <div class="text-area">
        <textarea placeholder="" class="layui-textarea" id="text-are" style=" 400px;height: 400px"></textarea>
    </div>
</div>

<script src="../static/layui/layui.js"></script>
<script>
    layui.use('upload', function () {
        var upload = layui.upload,
            $ = layui.$;
        var $text = $("#text-are");
        //执行实例
        upload.render({
            elem: '#test1',
            url: 'http://localhost:5000/upload',
            done: function (res) {
                $text.append('')
                $text.html(JSON.stringify(res))
            }, error: function () {
                console.log('上传失败')
            }
        });
    });

</script>
</body>
</html>

https://dormousehole.readthedocs.io/en/latest/quickstart.html#id2

https://www.jianshu.com/p/6452596c4edb

故乡明
原文地址:https://www.cnblogs.com/luweiweicode/p/15347531.html