Как сохранить выпадающие значения в БД во Flask - PullRequest
0 голосов
/ 11 мая 2018

Я использую приведенный ниже код в Flask для хранения значений в БД MySQL.Я храню только 2 значения, которые вводятся со страницы HTML

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

У меня есть раскрывающийся списоксписок.После ввода имени и адреса электронной почты необходимо выбрать тип и сохранить все три значения в БД.

Не уверен, как это сделать.

1 Ответ

0 голосов
/ 11 мая 2018

Убедитесь, что в HTML указан правильный идентификатор , например:

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

Затем прочитайте данные на стороне сервера:

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

Также я рекомендую изменить имя переменной "type" на что-то более подробное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...