记录下自己在开发flask API 遇到的问题

1.flask API

最近在学习前端,遇到一个需求需要使用Ajax去获取json档案内的数据,首先我想到的是直接写个json 放在本地之后通过ajax 去读取 代码如下:
写在前面:本人是这很垃圾的程序员很多东西都是一知半解,如果各位大佬看出有不对的地方还请指教~
这是我自己的博客 还请各位 有空可以去看看 里面 杂七杂八的啥都有

<script>
    $.ajax({
        url: '本地json路径',
        type: "GET", /* or type:"GET" or type:"PUT" */
        dataType: "json",
        success: function (result) {
            console.log(result);
        },
        error: function () {
            console.log("error");
        }
    });
</script>

很简当吧这样就可以读取本地的数据了,但是后来想想为啥我要放在本地 如果今天数据很大那我网站读取本地数据不就很慢(HMM自己的想法…),于是决定使用python+flask来开发个API 给前端数据,这样可以做到前后分离的动作。
这里用的python lib 有这些:
Flask 1.1.2 & Flask-Cors 3.0.8 就这两个库 Flask-Cors是用来解决ajax 跨域请求的问题的详细可以参考官方文档他的使用门槛并不高。
接下来是python 的代码:

from flask import Flask
from flask_cors import CORS
import json


app = Flask(__name__)
cors = CORS(app, resources={r"/api/*": {"origins": "*"}}) #这行代码可解决的跨域的问题

@app.route("/api/v1/products")
def products():
    data = open('product_json.json', 'r', encoding='utf-8').read()
    data = json.loads(data) # 这里的数据 要是json 格式的
    return data
if __name__ == '__main__':
    app.run(debug=True)

运行后结果如下:

宝塔部署python Internal Server Error 宝塔部署flask项目_python

如和去效验我们是否有成功呢? 按下F12>>>network 可以看到如下

宝塔部署python Internal Server Error 宝塔部署flask项目_json_02


看到这里的提示 flask 的部份就算是成功了

2.宝塔配置flask 与域名 +SSL

首先我们打开宝塔面板之后在软件商店里找到python 项目管理器并安装

宝塔部署python Internal Server Error 宝塔部署flask项目_json_03


之后在首页找到python管理器 做以下配置

宝塔部署python Internal Server Error 宝塔部署flask项目_flask_04


配置好之后 就可以映射到域名

宝塔部署python Internal Server Error 宝塔部署flask项目_js_05


这样基本就完成了 但是还是有个问题要解决 如果我今天域名想要SSL 该怎么处里呢?

这时候就需要 先在 宝塔里添加一个站点 之后再设置里选择SSL认证之后将该站点删除,再从python 管理器映射到该域名,可能会问加了SSL又把站点删除了那我的SSL还会在吗?别当心宝塔帮你记录起来了

宝塔部署python Internal Server Error 宝塔部署flask项目_python_06

为啥我要这样做>>我在一开始的时后是先映射再去添加SSL结果报错说反向代理不能添加SSL最后找到这各解决办法。

所有步骤完成后就会如下图 配置完之后 前端可以使用ajax 获取资料了。

宝塔部署python Internal Server Error 宝塔部署flask项目_js_07


完结撒花~