简单的vue.js的表单提交数据至flask然后数据库入库,再将表里面的数据展示在网页
一.先在数据库中创建表格
在mysql中建users库并建立一个含有ID,username,email三个字段的user表
二.去vue的组件里面写页面的表单代码,注意form标签里的action需要暂时先空着,等flask的代码写完后填入flask的链接地址
然后将这个vue.js需要在index.js里面配置
三.用python实现连接数据库,获取表单数据并入库
四,将写入到数据库表格的内容写入到网页中,在网页展示
别忘了在vue的form标签的action属性加入flask的地址
效果展示:
入库的过程是一个隐性操作,它使用了url_for跳转到了msglist里面进行数据库查询操作,网页展示的就是查询到的列表转成json格式的结果
代码附下:
from flask import Flask,request,jsonify,redirect,url_for
"""
导入配置文件
DEBUG=True
JSON_AS_ASCII=False
"""
from Config import Config
app = Flask(__name__) # 初始化
app.config.from_object(Config) # 连接数据库
def conn_mysql():
from pymysql import connect
conn = connect(host='localhost',port=3306,user='root',password='',database='users',charset='utf8')
cur = conn.cursor()
return conn,cur # 插入数据库
def insert_mysql(sql):
conn,cur = conn_mysql()
cur.execute(sql)
conn.commit() # 查询数据库
def find_mysql(sql):
conn,cur = conn_mysql()
cur.execute(sql)
result = cur.fetchall()
list = []
for i in result:
list.append(i)
return list @app.route('/reg',methods=['post'])
def register():
username = request.form.get('username')
email = request.form.get('email')
print(username,email)
sql = "insert into user values (0,\'%s\',\'%s\')"%(username,email)
insert_mysql(sql)
return redirect(url_for("user_list")) @app.route('/msglsit')
def user_list():
sql = "select * from user"
result = find_mysql(sql)
return jsonify(result) if __name__ == '__main__':
app.run()
这是falsk的配置文件
下面是vue.js的代码
<template>
<div>
<form action="http://127.0.0.1:5000/reg" method="POST">
用户名:<input type="text" name="username" />
邮箱:<input type="text" name="email" />
<button type="submit">提交信息</button> </form>
</div>
</template> <script>
export default {
name: 'Form1'
}
</script> <!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped> </style>
简单的vue.js的表单提交数据至flask然后数据库入库,再将表里面的数据展示在网页的更多相关文章
- jquery.form.js 让表单提交更优雅
jquery.form.js 让表单提交更优雅.可以页面不刷新提交表单,比jQuery的ajax提交要功能强大. 1.引入 <script src="/src/jquery-1.9.1 ...
- springmvc下js控制表单提交(表单提交前检验,提交后获取json返回值)
这个问题我搞了四天,终于搞懂.因为对js很不熟悉.郁闷的是后台代码出错总可以设置断点调试,前端js代码出错只能通过浏览器提供一些运行数据来分析,很不习惯. 首先说下逻辑:这是一个注册功能,我希望,注册 ...
- 【转载】[JS]让表单提交返回后保持在原来提交的位置上
有时候,在网页中点击了页面中的按钮或是刷新了页面后,页面滚动条又 会回到顶部,想看后面的记录就又要拖动滚动条,或者要按翻页键,非常不方便,想在提交页面或者在页面刷新的时候仍然保持滚动条的位置不变,最好 ...
- js 在表单提交前进行操作
最近在写页面的时候,需要手动写一些在表单进行提交前的验证操作,正好看到了2种阻止表单提交的方法,可以进行一些逻辑处理 方法一:使用return false 原生js写法: <form id=&q ...
- js阻止表单提交
<!DOCTYPE html><html><head> <title>Simple Login Form</title> < ...
- Vue.js:表单
ylbtech-Vue.js:表单 1.返回顶部 1. Vue.js 表单 这节我们为大家介绍 Vue.js 表单上的应用. 你可以用 v-model 指令在表单控件元素上创建双向数据绑定. v-mo ...
- 利用JS 阻止表单提交
情景一:不存在Ajax异步操作 1 使用背景:会议室预定管理系统中,当表单提交的时候需要验证预约的时间是否符合预定规则(不需要通过访问服务器),否则提示错误信息,阻止表单提交. 2 相关技术点: fo ...
- js实现表单提交submit(),onsubmit
通常表单的提交有两种方式,一是直接通过html的form提交,代码如下: <form action="" method="" id="forms ...
- 使用Jquery.form.js ajax表单提交插件弹出下载提示框
现象: 使用jquery的from做ajax表单提交的时候,后台处理完毕返回json字符串,此时浏览器提示下载一个json文件而不是在success里面继续解析该json对象. 具体的原因: 浏览器兼 ...
随机推荐
- FileInputStream 把文件作为字节流进行读操作
//把文件作为字节流进行读操作 FileInputStream in = new FileInputStream(filename);//FileInputStream具体实现了在文件上读取数据
- QToolBox
QToolBox类似与以前qq好友分组的那种控件.每个分组是一个Item. 一.添加分组: 其中每个分组是通过一下函数添加的: int addItem(QWidget * w, const QIcon ...
- C++中函数模版和普通函数的区别
函数模版和同名普通函数在同一个作用域中,会优先调用那个函数? 函数模型在进行调用的时候会进行严格的类型匹配,而普通函数在调用的时候,会进行函数参数类型转换(前提是自动类型转换). 调用函数模版,本质是 ...
- POJ3294Life Forms(广义后缀自动机)(后缀数组+二分+数状数组)
You may have wondered why most extraterrestrial life forms resemble humans, differing by superficial ...
- Qt Quick之TableView的使用
本博只是简单的展示TableView的基本使用(TableView.style:TableViewStyle.headerDelegate.rowDelegate.itemDelegate.Table ...
- 2017-2018-1 20179203 《Linux内核原理与分析》第四周作业
攥写人:李鹏举 学号:20179203 ( 原创作品转载请注明出处) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/US ...
- 每天一个linux命令(13):more命令
版权声明更新:2017-05-17博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Linux下面的mv命令. 2. ...
- ACM学习历程—SGU 275 To xor or not to xor(xor高斯消元)
题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=275 这是一道xor高斯消元. 题目大意是给了n个数,然后任取几个数,让他们xor和 ...
- javascript中eval()函数使用方法
本教程主要重介绍eval()函数的语法与使用方法,及在后面我还补充了eval()解析json数据的相关例子,希望文章能帮助到各位深入理解eval()使用方法吧. 前几天说到js中尽量不要使用eva ...
- Poj 1067 取石子游戏(NIM,威佐夫博奕)
一.Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子. ...