从0开始搭建vue + flask 旅游景点数据分析系统( 六):搭建后端flask框架

这一期开始开发header部分,预期实现两个目标:

  • 创建 Flask 项目
  • 导入旅游数据
  • 后端实现旅游数据的查询

1 python 环境 & 开发环境

python 安装和pycharm安装需要去网上找包,建议python使用3.8 或者3.9版本

2 新建项目

我们新建一个文件夹叫tour-flask, 然后用pycharm去打开。

创建文件夹app,然后再里面创建三个文件 init.py , routes.py 和 config.py

在根目录下创建run.py 和依赖文件requirements.txt

然后分别写几个文件:

__init__.py

from flask import Flask

def create_app():
    app = Flask(__name__)

    from .routes import main as main_blueprint
    app.register_blueprint(main_blueprint)

    return app

config.py

class Config:
    pass

routes.py

from flask import Blueprint, jsonify

main = Blueprint('main', __name__)

@main.route('/test', methods=['GET'])
def test():
    data = [{'id': 1, 'name': 'John'}, {'id': 2, 'name': 'Jane'}]

    return jsonify(data)

requirements.txt

Flask

run.py

from app import create_app

app = create_app()

if __name__ == '__main__':
    app.run(debug=True, port=8080)

然后启动run.py ,第一个Flask程序就已经搞定了!

在这里插入图片描述

3 前端与后端对接

下面测试一下前端与后端的对接,打开前端项目,安装axios

npm install axios

创建一个文件夹api,新建文件request.js,这个是对axios进行封装:

import axios from 'axios'

const service =  axios.create({
    baseURL: '/api',
    timeout: 1200,
})

export default service

然后新建一个文件tour.js:

import request from '@/api/request'

// 测试
export function test() {
    return request({
        url: '/test',
        method: 'get'
    })
}

下面直接修改Dashboard.vue,添加以下部分测试:

import {test} from "@/api/tour"

mounted() {
    test().then(res=>{
      console.log(res.data)
    })
  }

修改vue.config.js 添加以下内容:

devServer: {
    port: 8999, // 端口号配置
    // open: true // 自动打开浏览器
    proxy: {
      "/api": {
        target: "http://localhost:8080",
        changeOrigin: true,
        ws: false,
        pathRewrite: {
          "^/api": ""
        }
      }
    }
  },

4 测试

然后把前端服务重新启动下,现在我们的端口启动在8999上了,因为上面改了端口,然后利用浏览器的开发者模式查看控制台,可以看到console.log打印出来的日志是访问后端的localhost:8080/test接口的结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麦麦大数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值