如何在Flask中将下拉值存储到DB

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Flask中将下拉值存储到DB相关的知识,希望对你有一定的参考价值。

我在Flask中使用以下代码将值存储在mysql DB中。我只存储从html页面输入的2个值

from flask import Flask, render_template, request, redirect
from flask_mysqldb import MySQL


app = Flask(__name__)

# Configure db
#db = yaml.load(open('db.yaml'))
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
#app.config['MYSQL_PASSWORD'] = 'P******'
app.config['MYSQL_DB'] = 'flaskapp'


mysql = MySQL(app)

@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        # Fetch form data
        userDetails = request.form
        name = userDetails['name']
        email = userDetails['email']
        type = userDetails['type']
        cur = mysql.connection.cursor()
        cur.execute("INSERT INTO users(name, email, type) VALUES(%s, %s, %s)", name, email, type([0],[1]))
        mysql.connection.commit()
        cur.close()
        return 'Save is Successful'
    return render_template('index.html')

@app.route('/users')
def users():
    cur = mysql.connection.cursor()
    resultValue = cur.execute("SELECT * FROM users")
    if resultValue > 0:
        userDetails = cur.fetchall()
        return render_template('users.html',userDetails=userDetails)


if __name__ == '__main__':
    app.run(debug= True)

我的HTML页面

enter image description here

我有一个下拉列表。输入名称和电子邮件后,需要选择类型并将所有三个值存储在DB中。

不知道怎么做。

答案

确保在HTML中提供正确的ID,如下所示:

<select id="type">
 <option selected value="1">New</option>
 <option value="0">Old</option>
</select>

然后读取服务器端的数据:

type = request.form.get('type')

另外,我建议将var名称“type”更改为更详细的内容。

以上是关于如何在Flask中将下拉值存储到DB的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Codeigniter 中将值从视图传递到模型

如何在 laravel 5.5 迁移中将 DB::unprepared() 用于 mysql 函数和存储过程

在 Kotlin 中将值从 Activity 传递到 Fragment

如何在文本区域标签中的特定光标位置插入选择标签下拉值作为文本片段?

关于如何在Scala编程中将文件值存储到变量中

将下拉菜单中的值传递给 Flask 模板