Вы должны поменять местами декораторы. Прямо сейчас функция просмотра сначала украшена @login_required
, а затем украшена @require_POST
. Но это означает, что если вы сделаете запрос, который не запрос POST, он вернет ошибку 405, независимо от того, вошел ли пользователь в систему.
При замене декораторов он будет сначала проверьте, вошел ли пользователь в систему, если это не так, он перенаправит пользователя в представление входа в систему. Если пользователь вошел в систему, но метод не POST, он вернет ошибку 405.
<b>@login_required</b>
<b>@require_POST</b>
def cart_add(request, dish_id):
# …
Обратите внимание, что перенаправление на cart_add
, однако, не имеет особого смысла, поскольку требует запроса POST , и это означает, что после входа в систему он поднимет 405.