Переменная URL динамической фляги не передается в функцию просмотра - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь передать динамическую переменную из маршрута в Flask в мою функцию просмотра.Это похоже на стандартную функцию.Но код отображает странное поведение.

Вот функция:

@bp.route('/<id>/update', methods=('GET', 'POST'))
@login_required
def update(id):
    return id

Вот вывод на странице http://localhost:5000/1/update:

id

Как вы можете видеть, я ожидал, что значение «1» будет напечатано, но вместо этого было напечатано имя параметра ... Я понятия не имею, почему это происходит, и буду очень признателен за помощь.

Спасибо!

(Редактировать: это код из учебника)

1 Ответ

0 голосов
/ 29 мая 2019

Решением стала ошибка в декораторе @login_required из другого модуля. Если у кого-то есть такая же ошибка, вот мой код ...

def login_required(view):
@functools.wraps(view)
def wrapped_view(**kwargs):
    if g.user is None:
        return redirect(url_for('auth.login'))
    return view(*kwargs)
return wrapped_view

У "kwargs" не было звезды, поэтому питон рассматривал ее как "args" вместо "kwargs" ...

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