簡單的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格式的結果

 

代碼附下:

 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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM