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'file\uploads', 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="width: 400px;">
            <i class="layui-icon">i>上传图片
        button>
    div>
    <div class="text-area">
        <textarea placeholder="" class="layui-textarea" id="text-are" style="width: 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