Python中使用Flask

作者: 合拍v | 来源:发表于2020-11-18 15:00 被阅读0次

最近写python时用到了Flask做服务器进行前后端的交互,用一个Demo做个简单的总结。

  • 用html做个前端的页面
<html>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

<head>
    <title>FlaskDemo</title>
</head>

<body>
    <!-- 可以在页面上向后端发送一个文件 -->
    <form method="post" action="http://localhost:5000/req" enctype="multipart/form-data">
        <input name="file" type="file"></input>
        <input type="submit"></input></form>
    <p>
        一段文本
        <b id="text"></b>
    </p>

    <script type="text/javascript">
        // 我们来读取后端传过来的数据
        $("document").ready(function () {
            $.getJSON("http://localhost:5000/getinfo", (data, status, xhr) => {
                // 通过id获取页面元素并赋值
                console.log(data.text)
                $("#text").text(data.text);
            })
        });
    </script>
</body>

</html>
  • 写个简单的后端
import json

def getData():
    data = {}
    data["text"] = "do.py里的一个文本"
    return json.dumps(data)
  • 引入Flask框架
from flask import Flask
from flask import request
import webbrowser
import os
from do import getData

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def home():
    # 这里获取页面
    return open("index.html", "r").read()

@app.route('/req', methods=['post'])
def re():
    # 前端上传的文件可以这样接收到
    files = request.files['file']
    # handle files……
    print(files)
    return open("index.html", "r").read()

@app.route('/getinfo', methods=['GET'])
def getInfo():
    # 获取一个json数据,这里从后端获取
    return getData()

if __name__ == '__main__':
    app.run()

好了,这个时候在浏览器输入http://127.0.0.1:5000/,就会进入/默认的index.html了。
DONE

相关文章

网友评论

    本文标题:Python中使用Flask

    本文链接:https://www.haomeiwen.com/subject/vjtciktx.html