搭建Flask+Vue及配置Vue 基础路由
最近一直在看关于Python的东西,准备多学习点东西.以前的项目是用Vue+Java写的,所以试着在升级下系统的前提下.能不能使用Python+Vue做一遍.
选择Flask的原因是不想随大流,并且比较轻量级,后面深度的配置会随着学习的不断深入,也随时写进入博客
第一步:安装Vue项目,这个请查看之前的帖子https://www.cnblogs.com/0909/p/9853618.html
第二步:配置路由,并且改变起始页面,首先需要在 src/components/xx.vue 如图所示,其中flaskTovue.vue是测试python与vue的连接是否成功的
第三步:配置路由 src/router/index.js
第四部:配置App.vue 修改成如图的样子:
第五步:npm run dev ,如图所示.可以试着在 "#/"后面输入About等看看页面是切换成功.
第六步:Python 和 Vue 通过Flask 连接起来,我是参考了例子:https://www.jianshu.com/p/ead7317d01ec
Python 代码如下(通过Pycharm 配置Flask 自行百度.因为比较容易)
代码如下:
##测试成功
from flask import Flask
from flask import jsonify
from flask_cors import CORS app = Flask(__name__)
cors = CORS(app, resources={r"/getMsg": {"origins": "*"}}) @app.route('/')
def hello_world():
return 'Hello World!' @app.route('/getMsg',methods=['GET','POST'])
def home():
response = {
##这里面填写和后台交互的代码
'msg': 'Hello, Python !'
}
return jsonify(response) ##启动运行
if __name__ == '__main__':
app.run()
第七步:flaskTovue.vue的设置
代码如下:
<template>
<div>
<span>{{ serverResponse }} </span>
<button @click="getData">GET DATA</button>
</div>
</template> <script>
import axios from "axios"; export default {
name: "my-first-vue",
data: function() {
return {
serverResponse: "resp"
};
},
methods: {
getData() {
var that = this;
// 对应 Python 提供的接口,这里的地址填写下面服务器运行的地址,本地则为127.0.0.1,外网则为 your_ip_address
const path = "http://127.0.0.1:5000/getMsg";
axios
.get(path)
.then(function(response) {
// 这里服务器返回的 response 为一个 json object,可通过如下方法需要转成 json 字符串
// 可以直接通过 response.data 取key-value
// 坑一:这里不能直接使用 this 指针,不然找不到对象
var msg = response.data.msg;
// 坑二:这里直接按类型解析,若再通过 JSON.stringify(msg) 转,会得到带双引号的字串
that.serverResponse = msg; alert(
"Success " + response.status + ", " + response.data + ", " + msg
);
})
.catch(function(error) {
alert("Error " + error);
});
}
}
};
</script>
成功之后测试结果为:
搭建Flask+Vue及配置Vue 基础路由的更多相关文章
- vue全局配置----小白基础篇
今天学习vue全局配置.希望帮助我们去了解vue的全局配置,快速开发. Vue.config是vue的全局配置对象.包含Vue的所有全局属性: silent:boolean(默认值:false)--- ...
- Vue - 项目配置 ( element , 安装路由 , 创建路由 )
1,安装element : vue add element 2,安装路由 : vue add router 3,创建路由的过程 : (1) 新建 vu ...
- vue --- vscode 配置 .vue文件生成结构
1.选择“文件 -> 首选项 -> 用户代码片段”,此时,会弹出一个搜索框,输入vue 选择vue后,编辑器会自动打开一个名字为vue.json的文件 2.复制以下内容到这个文件 ...
- vue环境配置脚手架环境搭建vue工程目录
首先在初始化一个vue项目之前,我们需要下载node.js,并且安装! 下载地址: nodejs.cn/download 安装完成之后,windows+r 运行命令 cmd 输入node -v 检 ...
- Vue脚手架结构及vue-router路由配置
首先官网介绍,用 Vue.js + vue-router 创建单页应用,是非常简单的.使用 Vue.js ,我们已经可以通过组合组件来组成应用程序,当你要把 vue-router 添加进来,我们需要做 ...
- vue项目搭建和开发流程 vue项目配置ElementUI、jQuery和Bootstrap环境
目录 一.VUE项目的搭建 1. 环境搭建 2. 项目的创建和启动 二. 开发项目 1. 配置vue项目启动功能 2. 开发vue项目 (1)项目文件的作用 (2)vue项目开发流程 (3)vue项目 ...
- vue环境配置脚手架搭建,生命周期,钩子
Vue项目环境搭建 """ node ~~ python:node是用c++编写用来运行js代码的 npm(cnpm) ~~ pip:npm是一个终端应用商城,可以换国内 ...
- Vue开发之基础路由
1.router-link和router-view组件 src/App.vie文件内容: <template> <div id="app"> <div ...
- vue如何配置路由 、获取路由的参数、部分刷新页面、缓存页面
vue如何配置路由 .获取路由的参数.部分刷新页面.缓存页面:http://www.mamicode.com/info-detail-1941546.html vue-router传递参数的几种方式: ...
随机推荐
- 编写javascript的基本技巧一
自己从事前端编码也有两年有余啦,时间总是比想象中流逝的快.岁月啊,请给我把时间的 脚步停下吧.不过,这是不可能的,我在这里不是抒发时间流逝的感慨.而是想在这分享两 年来码农生活的一些javascrip ...
- DB2 添加license
DB2 - DB2COPY1 - DB2-0 服务不能启动报的错是这样的:Microsoft Management Console Windows 不能在 本地计算机 启动 DB2 - DB2.有 ...
- Abp使用不同仓储连接多个数据库
有群友说官方例子中有,无奈英文和网速太差...自己琢磨吧. 最近开发的项目中,需要从外部系统中读取一些信息,计算之后存入本地的数据库中,外部系统直接提供数据库给我..所以本地需要用到多数据库连接. 项 ...
- NSUserDefaults数据存储
前言 用来保存应用程序设置和属性.用户保存的数据.用户再次打开程序或开机后这些数据仍然存在. 如果往 userDefaults 里存了一个可变数组,取出来的时候这个数组对象就变成了不可变的. NSUs ...
- SiriShortCut模型建立及数据交互逻辑
1.模型数据需求 意图: 手机号 密码 网关ID 打开该情景的命令 情景号 情景名 情景背景图 添加该意图时的 token值 主程序登陆共享数据 手机号 token值 2.操作逻辑 1.意图被唤起 获 ...
- 洛谷P4207 [NOI2005]月下柠檬树(计算几何+自适应Simpson法)
题面 传送门 题解 我还好奇自适应辛普森法干嘛用的呢--突然想起来积分的一个用处就是求曲边图形的面积-- 我们先来考虑一下这些投影是什么形状 一个圆的投影还是它自己 一个圆锥的投影是一个圆加上一个点, ...
- JavaScript学习笔记——4.数组
数组(Array) 数组也是一个对象 数组中保存的内容我们称为元素 数组的操作 - 创建数组 - var arr = new Array(); - var arr = []; 例如:var m ...
- 190225Redis
一.Redis的简单使用 Redis操作模式 # Author:Li Dongfei import redis r = redis.Redis(host='192.168.56.7', port=63 ...
- 最短路径 Dijkstra算法 AND Floyd算法
无权单源最短路:直接广搜 void Unweighted ( vertex s) { queue <int> Q; Q.push( S ); while( !Q.empty() ) { V ...
- 3.mouseenter和mouseover事件的区别
<html> <head> <meta charset="UTF-8"> <script src="jquery-3.3.1.j ...