1. 程式人生 > >簡單的vue.js的表單提交數據至flask然後數據庫入庫,再將表裏面的數據展示在網頁

簡單的vue.js的表單提交數據至flask然後數據庫入庫,再將表裏面的數據展示在網頁

exp object vue.js font 需要 true false ont .com

一.先在數據庫中創建表格

在mysql中建users庫並建立一個含有ID,username,email三個字段的user表

技術分享圖片

二.去vue的組件裏面寫頁面的表單代碼,註意form標簽裏的action需要暫時先空著,等flask的代碼寫完後填入flask的鏈接地址

技術分享圖片

然後將這個vue.js需要在index.js裏面配置

技術分享圖片

三.用python實現連接數據庫,獲取表單數據並入庫

技術分享圖片

技術分享圖片

四,將寫入到數據庫表格的內容寫入到網頁中,在網頁展示

技術分享圖片

別忘了在vue的form標簽的action屬性加入flask的地址

技術分享圖片

效果展示:

技術分享圖片

技術分享圖片

技術分享圖片

入庫的過程是一個隱性操作,它使用了url_for跳轉到了msglist裏面進行數據庫查詢操作,網頁展示的就是查詢到的列表轉成json格式的結果

代碼附下:

 1 from flask import Flask,request,jsonify,redirect,url_for
 2 """
 3 導入配置文件
 4 DEBUG=True
 5 JSON_AS_ASCII=False
 6 """
 7 from Config import Config
 8 app = Flask(__name__)    # 初始化
 9 app.config.from_object(Config)
10 
11 # 連接數據庫
12 def conn_mysql():
13     from pymysql import connect
14
conn = connect(host=localhost,port=3306,user=root,password=123456,database=users,charset=utf8) 15 cur = conn.cursor() 16 return conn,cur 17 18 # 插入數據庫 19 def insert_mysql(sql): 20 conn,cur = conn_mysql() 21 cur.execute(sql) 22 conn.commit() 23 24 # 查詢數據庫 25 def find_mysql(sql):
26 conn,cur = conn_mysql() 27 cur.execute(sql) 28 result = cur.fetchall() 29 list = [] 30 for i in result: 31 list.append(i) 32 return list 33 34 @app.route(/reg,methods=[post]) 35 def register(): 36 username = request.form.get(username) 37 email = request.form.get(email) 38 print(username,email) 39 sql = "insert into user values (0,\‘%s\‘,\‘%s\‘)"%(username,email) 40 insert_mysql(sql) 41 return redirect(url_for("user_list")) 42 43 @app.route(/msglsit) 44 def user_list(): 45 sql = "select * from user" 46 result = find_mysql(sql) 47 return jsonify(result) 48 49 50 if __name__ == __main__: 51 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然後數據庫入庫,再將表裏面的數據展示在網頁