Python中使用Flask

最近寫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>
    <!-- 可以在頁面上向后端發(fā)送一個文件 -->
    <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">
        // 我們來讀取后端傳過來的數(shù)據(jù)
        $("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數(shù)據(jù),這里從后端獲取
    return getData()

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

好了,這個時候在瀏覽器輸入http://127.0.0.1:5000/,就會進入/默認的index.html了。
DONE

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容