首頁 > 軟體

python中SQLAlchemy使用前端頁面實現插入資料

2022-03-24 19:01:08

1.實驗效果

如果插入的資料已經存在於資料庫中,則出現以下提示:

檢視資料庫表中的資料,發現已經將資料存入了資料庫表中:

2.主main.py檔案

import os
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import String,Integer,create_engine,Column
from flask import Flask,render_template,redirect,request,url_for,abort,jsonify

app=Flask(__name__)

class Config:
    """相關設定"""
    # cmd:
    # 建立資料庫:create database flaskdb(資料庫名) default charset(型別) utf8;
    # 使用資料:use flaskdb
    # 檢視資料庫表:show tables;
    SQLALCHEMY_DATABASE_URI='mysql+pymysql://root:root@127.0.0.1:3306/flaskdb'
    SQLALCHEMY_TRACK_MODIFICATIONS=True

app.config.from_object(Config)
#建立資料庫
mysql=SQLAlchemy(app)
#建立表
class Moster(mysql.Model):
    """管理員表名"""
    __tablename__='moster'
    username=Column(String(128),primary_key=True)
    password=Column(String(128),unique=True)

@app.route('/<string:username>/<string:password>',methods=['POST','GET'])
def Insert_User(username,password):
    #判斷資料庫表中是否已經存在了此使用者,如果存在,則不進行插入資料
    data=Moster.query.filter(Moster.username==username).all()
    if data==[]:
        # 建立物件,進行資料的插入
        mos = Moster(username=username, password=password)
        # 建立session
        mysql.session.add(mos)
        mysql.session.commit()
        # 關閉資料庫
        mysql.session.close()
        return jsonify('Add the data Successed!')
    else:
        return jsonify('The data have been existed!')


@app.route('/index',methods=['POST','GET'])
def index():
    if request.method=='POST':
        username=request.form.get('username')
        password=request.form.get('password')
        return redirect(url_for('Insert_User',username=username,password=password))
    return render_template('mysql.html')

if __name__ == '__main__':
    print('Pycharm')
    # 對資料庫進行清除,讓資料庫是「乾淨的」
    # mysql.drop_all()
    # 建立表
    mysql.create_all()
    app.run(debug=True)

3.前端mysql.html檔案

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MySQL</title>
    <style>
        div {
            width:250px;
            height:100px;
            margin:auto;
            margin-top:200px;
            font-size:15px;
            font-weight:700;
            border:2px solid #000000;
            background:#FFFFFF;
        }
        div form input {
            margin-top:10px;
        }
        .btn{
            margin-left:100px;
            cursor:pointer;
        }
    </style>
</head>
<body>
    <div>
        <form action="http://127.0.0.1:5000/index" method="POST">
            <label>賬號: </label>
            <input type="text" name="username"><br>
            <label>密碼: </label>
            <input type="password" name="password"><br>
            <input class="btn" type="submit" name="submit" value="提交"><br>
        </form>
    </div>
</body>
</html>

到此這篇關於SQLAlchemy使用前端頁面實現插入資料的文章就介紹到這了,更多相關SQLAlchemy插入資料內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com