Python Flask框架与web页面交互使用教程

一,下载flask

pip install flask

使用数据源下载
pip install flask -i 数据源地址
例如:pip install flask -i https://pypi.tuna.tsinghua.edu.cn/simple
清华大学
https://pypi.tuna.tsinghua.edu.cn/simple
阿里云
https://mirrors.aliyun.com/pypi/simple/
豆瓣
https://pypi.douban.com/simple/
华为云
https://mirrors.huaweicloud.com/repository/pypi/simple/
腾讯云
https://mirrors.cloud.tencent.com/pypi/simple/

1.2 flask相关模块下载

pip install flask-cors
Flask-Cors是一个优秀的解决跨域问题的Python库。 Flask-Cors是Flask扩展库中的一员,其主要功能是为Flask应用程序提供轻松解决跨域请求的功能。

pip install flask-sqlalchemy
Flask-SQLAlchemy 是一个为 Flask 应用增加 SQLAlchemy 支持的扩展。它致力于简化在 Flask 中 SQLAlchemy 的使用。

二,前后端代码使用

python代码如下:

from flask import Flask
from flask_cors import CORS

app = Flask(__name__)
CORS(app, resources={r"/test/*": {"origins": "*"}})
@app.route('/test',methods=['GET'])
def hello_world():  # put application's code here
    return 'Hello World!'

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

前端代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="bootstrap-4.6.2-dist/css/bootstrap.css">
</head>
<body class="container">

    <button type="button" class="btn btn-outline-primary" id="b">按钮</button>

    <script src="jquery/jquery-3.5.1.js"></script>
    <script src="jquery/jquery-3.5.1.min.js"></script>
    <script src="bootstrap-4.6.2-dist/js/bootstrap.js"></script>
    <script src="bootstrap-4.6.2-dist/js/bootstrap.min.js"></script>
    <script>
        $('#b').click(function () {
            $.ajax({
                url: "http://127.0.0.1:5000/test", 
                type: "GET",
                // data:'{name: ''}',
                // contentType:"application/json",
                // dataType:json,
                success: function(data) {
                    console.log(data);
                }
            });
        });
    </script>
</body>
</html>

前端页面点击按钮即可访问后台flask服务

三,关于跨域

3.1使用CORS函数(全局配置跨域)

3.1.1应用全局配置

# 使用
from flask_cors import CORS

app = Flask(__name__)
#使用CORS函数跨域
cors = CORS(app, resources={r"/api/*": {"origins": "*"}})

@app.route("/api/v1/users")
def list_users():
  return "user example"

3.1.2单独Blueprints配置

# 使用
from flask_cors import CORS

#使用CORS函数跨域
api_v1 = Blueprint('API_v1', __name__)
CORS(api_v1) 

@api_v1.route("/api/v1/users/")
def list_users():
  return "user example"

3.1.3CORS参数说明

  • resources:全局配置允许跨域的API接口
  • origins:配置允许跨域访问的源,*表示全部允许
  • methods:配置跨域支持的请求方式,如:GET、POST
    等等.........
3.2使用@cross_origin装饰器(局部跨域)
#使用
from flask_cors import cross_origin

app = Flask(__name__)
@app.route('/test',methods=['GET'])
#使用cross_origin装饰器
@cross_origin()
def hello_world():
    return 'Hello World!'

装饰器中的参数与CORS一致。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容