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

news2024/9/20 14:27:18

这一期开始开发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接口的结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1972995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kafka详解以及常见kafka基本操作

1、 kafka 是什么,有什么作用 Kafka是一个开源的高吞吐量的分布式消息中间件,对比于缓冲和削峰:上游数据时有突发流量,下游可能扛不住,或者下游没有足够多的机器来保证冗余,kafka在中间可以起到一个缓冲的作用&#x…

Qt项目——文本编辑器(Bug/疑问)

项目地址:GitHub - Outlier9/CatEditor: Cat文本编辑器--Qt 有帮助的话各位点点 star 啦,感谢! 如果有需要学习该项目的人,觉得看文档较为困难,可以加我联系方式,给github点个star后可免费提供学习视频&…

红酒与烹饪:美食的灵感之源

在烹饪的广阔天地中,红酒常常作为一道神秘的佐料,为菜肴带来别样的风味与深度。当定制红酒洒派红酒(Bold & Generous)与烹饪艺术相遇,一场美食的灵感之旅便悄然展开。 一、红酒与烹饪的浪漫邂逅 在烹饪的世界里&…

12月长沙学术会议:EI检索,机器人、自动化与智能控制方向

在春意盎然、生机勃勃的四月,全球科技界的目光聚焦于中国长沙,这里即将迎来一场科技与智慧碰撞的盛宴——第四届机器人、自动化与智能控制国际会议(ICRAIC 2024)。本次盛会由历史悠久、文化底蕴深厚的湖南第一师范学院荣耀主办&am…

正点原子imx6ull-mini-Linux驱动之platform设备驱动实验(14)

我们在前面几章编写的设备驱动都非常的简单,都是对IO进行最简单的读写操作像I2C、 SPI、LCD 等这些复杂外设的驱动就不能这么去写了,Linux 系统要考虑到驱动的可重用性,因此提出了驱动的分离与分层这样的软件思路,在这个思路下诞生…

QtQuick Text-文本样式

属性 Text项目的style属性可以设置文本的样式。 支持的文本样式有: Text.Normal(默认)Text.OutlineText.RaisedText.Sunken 示例 import QtQuickRow{spacing: 10padding: 10Text {font.pointSize: 40text: "Normal"}Text {font…

太阳光大约8分钟到达地球?太阳光:我一瞬间就到了!

我们常常听说,太阳光从太阳出发,需要8分钟才能抵达地球。这个时间听起来并不长,但它却是光子在宇宙空间中以惊人速度穿行的见证。 不过,这个8分钟的时间概念,实际上是站在我们地球观察者的角度来说的。如果我们换一个角度,比如说,从光子自己的视角来看待这段旅程,又会是…

2-53 基于matlab的15种图像纹理特征计算

基于matlab的15种图像纹理特征计算。纹理特征包括小梯度优势 T1、大梯度优势 T2、 灰度分布的不均匀性 T3、 梯度分布的不均匀性 T4 、能量 T5、灰度平均 T6、梯度平均 T7、灰度均方差 T8 、梯度均方差 T9、相关 T10 、灰度熵 T11、梯度熵 T12 、 混合熵 T13、惯性 T14 、 逆差…

字符专用输入输出函数 getchar() putchar()

文章目录 一、字符专用接收函数1.1 scanf实现字符接收1.2 字符专用接收函数getchar1.3 练习1.4 利用循环使字符接收函数接收字符串的元素 二、字符专用输出函数2.1 printf实现打印字符2.2 字符专用输出函数putchar 提示:以下是本篇文章正文内容,下面案例…

iOS 系统提供的媒体资源选择器(UIImagePickerController)

简介 图片或者视频的选择功能几乎是每个APP必不可少的,UIImagePickerController 是 iOS 系统提供的一个方便的媒体选择器,允许用户从照片库中选择图片或视频,或者使用相机拍摄新照片和视频。 它的页面简单易用,代码稳定可靠&…

基于STC8H系列单片机的比较器功能调试

基于STC8H系列单片机的比较器功能调试 STC8H4K64TL单片机介绍STC8H4K64TL单片机管脚图(48个引脚)STC8H4K64TL单片机串口仿真与串口通信STC8H4K64TL单片机管脚图(32个引脚)STC8H4K64TL单片机管脚图(20个引脚)STC8H系列单片机管脚说明STC8H系列单片机I/O口STC8H系列单片机I…

八股文真的有作用吗?

八股文在实际工作中的作用:助力、阻力还是空谈? 无论如何讨论,八股文都是面试中不可或缺的一环。一般来说,准入门槛是由“招聘”这个“游戏”的设计者设计的,旨在快速高效地筛选出合适的人选。 但是我还是要说&#x…

buu做题(12)

[CISCN 2019 初赛]Love Math <?php error_reporting(0); //听说你很喜欢数学&#xff0c;不知道你是否爱它胜过爱flag if(!isset($_GET[c])){show_source(__FILE__); }else{//例子 c20-1$content $_GET[c];if (strlen($content) > 80) {die("太长了不会算");…

【重磅推出】★全部CFA FRM CAIA ESG原創資料整理[2024版+2025版更新中]

【重磅推出】★全部CFA FRM原創資料整理[2024版2025版更新中] 申明&#xff1a;大部分資料都是本人整理原創內容&#xff0c;最新資料有參考CFA FRM協會&#xff08;有征求協會同意&#xff0c;是可以分享到網上給大家使用的&#xff09;&#xff0c; 去年收集整理了一個帖子&…

抖音小店新宠儿成都夏光汝网络科技

在当今这个数字化时代&#xff0c;电商平台的兴起为无数商家和个人创业者提供了前所未有的机遇&#xff0c;而抖音小店作为抖音平台上的重要电商板块&#xff0c;更是以其庞大的用户基数和高度活跃的社交属性&#xff0c;成为了众多品牌与商家争相入驻的热门选择。其中&#xf…

理学、工学、农学、医学、哲学、经济学、法学、教育学、文学、军事学、管理学、艺术学、历史学等学科的核心思想和基本理论

以下是以表格形式列出的理学、工学、农学、医学、哲学、经济学、法学、教育学、文学、军事学、管理学、艺术学、历史学等学科的核心思想和基本理论&#xff1a; 晓北斗推荐-多学科知识体系 学科核心思想基本理论理学探索自然、社会和人类思维的本质和规律物理学、化学、生物学、…

Flink 实时数仓(四)【DWD 层搭建(二)流量域事实表】

前言 昨天刚搬到新校区&#xff0c;新校区小的可怜&#xff0c;好在之后出去实习交通可以方便点&#xff1b;待在学院太受限了&#xff0c;早点离开&#xff01; 今天开始完成 DWD 层剩余的需求&#xff0c;上一节我们把日志数据根据不同类型分流写入到了不同的主题&#xff1b…

LangChain +Streamlit+ Llama :将对话式人工智能引入您的本地设备成为可能(上篇)

&#x1f99c;️ LangChain Streamlit&#x1f525; Llama &#x1f999;&#xff1a;将对话式人工智能引入您的本地设备&#x1f92f; 将开源LLMs和LangChain集成以进行免费生成式问答&#xff08;不需要API密钥&#xff09; 在过去的几个月中&#xff0c;大型语言模型(LLMs)得…

云计算学习——5G网络技术

系列文章目录 提示&#xff1a;仅用于个人学习&#xff0c;进行查漏补缺使用。 Day1 网络参考模型 Day2 网络综合布线与应用 Day3 IP地址 Day4 华为eNSP网络设备模拟器的基础安装及简单使用 Day5 交换机的基本原理与配置 Day6 路由器的原理与配置 Day7 网络层协议介绍一 Day8 …

【Pyhton】数据类型之详讲字符串(上)

本篇文章将详细讲解字符串&#xff1a; 1、定义 定义字符串时&#xff0c;字符串的内容被双引号&#xff0c;单引号&#xff0c;三单引号&#xff0c;三双引号中的其中一个被括住。 例如&#xff1a; 双引号&#xff1a; v1"haha" 单引号&#xff1a; v1hahah…