首页 > 解决方案 > SQL 注册表单

问题描述

我们正在使用 FLASK 创建一个注册页面,但我们似乎无法弄清楚如何将表单中的数据插入数据库。我们已阅读 FLASK 文档,但找不到任何可行的方法。

任何帮助将不胜感激。

代码打印在下面(登录功能已被删除):

from flask import Flask, request, render_template, g
import sqlite3

app = Flask(__name__)

DATABASE = "./database.db"

#Database Functions
def get_db():

    print("get_db RUN")

    db = getattr(g, '_database', None)
    if db is None:
        db = g._database = sqlite3.connect(DATABASE)
    return db

@app.teardown_appcontext
def close_connection(exception):
    db = getattr(g, '_database', None)

    if db is not None:
        db.close()

def query_db(query, args=(), one=False):
    print("query_db RUN")
    cur = get_db().execute(query, args)
    rv = cur.fetchall()

    print("rv: ", str(rv))
    cur.close()

    return (rv[0] if rv else None) if one else rv

def register_db(username, password, email, date_of_birth):

    print("register_db RUN")

    return query_db("insert into User (username, password, email, date_of_birth) values (?, ?, ?, ?)", [username, password, email, date_of_birth], one=True)

def log_the_user_in(username):
    return render_template("profile.html", username=username)

@app.route("/")
def main_page():
    return render_template("main_page.html")

@app.route("/register", methods=["POST", "GET"])
def register():

    print("register RUN")

    error = None

    if request.method == "POST":

        register_db(request.form["username"], request.form["password"], request.form["email"], request.form["date_of_birth"])

        return render_template("profile.html")

    return render_template("register.html")



if __name__ == "__main__":
    app.run()

标签: pythonflask

解决方案


推荐阅读