当前位置: 首页 > news >正文

从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接口的结果

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Win32注册表操作
  • Rust 所有权
  • 大数据-Big Data(一):概述与基础
  • Tracecat:开源 SOAR
  • Transformer 模型中的 QKV 机制是如何运作的
  • 区块链平台的图灵完备性
  • 探秘C# LINQ元素运算:原理阐释与实践指南
  • day 22线程间通信
  • Java参数传递
  • 深度学习-----------数值稳定性
  • docker部署jenkins和jenkins的基本使用
  • 【SpringCloud】SpringCloudNetflix笔记
  • 重塑购车体验,实时云渲染赋能东风日产探路云看车新体验
  • Date类型的字段序列化成JSON字符串
  • bug: 配置flyway.locations多个脚本位置不生效
  • 【译】JS基础算法脚本:字符串结尾
  • [LeetCode] Wiggle Sort
  • 【Leetcode】104. 二叉树的最大深度
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 0基础学习移动端适配
  • es6(二):字符串的扩展
  • gf框架之分页模块(五) - 自定义分页
  • Iterator 和 for...of 循环
  • java8-模拟hadoop
  • java中的hashCode
  • JS函数式编程 数组部分风格 ES6版
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Otto开发初探——微服务依赖管理新利器
  • python学习笔记-类对象的信息
  • Vue ES6 Jade Scss Webpack Gulp
  • vue数据传递--我有特殊的实现技巧
  • Windows Containers 大冒险: 容器网络
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 设计模式 开闭原则
  • 使用agvtool更改app version/build
  • 一个JAVA程序员成长之路分享
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • const的用法,特别是用在函数前面与后面的区别
  • ionic异常记录
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • ​Python 3 新特性:类型注解
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (04)odoo视图操作
  • (4)Elastix图像配准:3D图像
  • (9)目标检测_SSD的原理
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (四)模仿学习-完成后台管理页面查询
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包