欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 从0开始搭建vue + flask 旅游景点数据分析系统( 六):搭建后端flask框架

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

2025/1/5 17:16:00 来源:https://blog.csdn.net/roccreed/article/details/140862893  浏览:    关键词:从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 Flaskdef create_app():app = Flask(__name__)from .routes import main as main_blueprintapp.register_blueprint(main_blueprint)return app

config.py

class Config:pass

routes.py

from flask import Blueprint, jsonifymain = 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_appapp = 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接口的结果

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com