Ошибка TypeError. Моя функция ничего не возвращает, хотя операторы return есть. FLASK, SQLALCHEMY, PYTHON
Получаю такую ошибку при попытке изменить данные в базе данных sqlalchemy
на flask
:
TypeError The view function for 'editcomplete' did not return a valid response. The function either returned None or ended without a return statement.
Хочу сделать возможность изменять логин пользователя в базе данных.
@app.route('/users/<int:id>/edit/login', methods=["GET", "POST"])
def editlogin(id):
user = User.query.get_or_404(id)
return render_template('editlogin.html', user=user)
@app.route('/users/<int:id>/edit/login/complete')
def editcomplete(id):
user = User.query.get_or_404(id)
newlogin = request.form.get('newlogin')
oldlogin = User.query.order_by(User.login).all()
login_list = []
for el in oldlogin:
login_list.append(el.login)
if request.method == "POST":
if not (newlogin):
flash('Пожалуйста заполните поля')
elif newlogin in login_list:
flash('Такой логин уже существует!')
else:
flash('Логин изменен!')
db.session.query(User.login).update({'login': f'{newlogin}'})
db.session.commit()
return redirect(url_for('users'))
{% if user %}
<div class="goods">
{% with messages = get_flashed_messages() %}
{% if messages %}
<div class=flashes>
{% for message in messages %}
<p>{{ message }}</p>
{% endfor %}
</div>
{% endif %}
{% endwith %}
<form id="editor" method="post" autocomplete="off">
<input class="auth-form" type="text" name="newlogin" placeholder="Новый логин" required>
</form>
<p><a href="/users/{{ user.id }}/edit/login/complete" class="completebtn">Сохранить</a></p>
</div>
{% else %}
<div class="goods goodscenter">
<p>Произошла ошибка :(</p>
</div>
{% endif %}