Примечание:
Я знаю, что есть куча вопросов, подобных моему, но я действительно пробую их, но все работает.
Я пытаюсь получить выбранный параметр пользователем в моей конечной точке, но он не работает.
Я пробовал:
Для записи имени атрибута в HTML-тег select.
В бэкэнде я попробовал это два варианта
type_user = request.form.get('type_user')
и это
type_user = request.form['type_user']
Я использую режим debbuger и вижу, что auth.py не получает никаких данных, только None
.
register.html
#I don't know if it is for the desabled attribute, if the user
#is not logged so he cannot create a admin account only a normal account.
{% if g.user['type'] == 0 %}
<div class="form-group">
<label for="type_user">Type of User <span style="color: red">*</span></label>
<select class="form-control" id="type_user" name="type_user" required>
<option value="0">Admin</option>
<option value="1">User</option>
</select>
</div>
{% else %}
<div class="form-group">
<label for="type_user">Type of User <span style="color: red">*</span></label>
<select class="form-control" id="type_user" name="type_user" required disabled>
<option value="1">User</option>
</select>
</div>
{% endif %}
auth.py
@bp.route('/register', methods=('GET', 'POST'))
def register():
if request.method == 'POST':
first_name = request.form['first_name']
last_name = request.form['last_name']
type_user = int(request.form.get('type_user'))
username = request.form['username']
password = request.form['password']
db = get_db()
error = None
print(type_user)
print(first_name)
if not (first_name and last_name and type_user and username and password):
error = "Please fill all requiered fields"
elif db.execute(
'SELECT id FROM user WHERE username = ?', (username,)
).fetchone() is not None:
error = 'User {} is already registered.'.format(username)
if error is None:
db.execute(
'INSERT INTO user (first_name, last_name, type, username, password) VALUES (?, ?, ?, ?, ?)',
(first_name, last_name, type_user, username, generate_password_hash(password))
)
db.commit()
return redirect(url_for('auth.login'))
flash(error)
return render_template('auth/register.html')
Error
Файл "D: \ Dev \ Pattern-Project \ Study_room \ auth.py", строка 15, в
регистр
-----> type_user = request.form ['type_user'] <----- Файл "d: \ dev \ Pattern-Project \ my-venv \ lib \ site-
packages \ werkzeug \ datastructures.py ", строка 442, в <strong>getitem
повысить исключения.BadRequestKeyError (key)