Я пытаюсь перенаправить запрос PUT
на GET
, и в итоге получаю 302 л oop, поскольку request.method
, кажется, постоянно установлен на PUT
. Я попытался добавить _method='GET'
к функции url_for
.
@app.route('/test', methods=['GET', 'PUT'])
def test_route():
if request.method == 'PUT':
...
return redirect(url_for('app.test_route'))
else:
return render_template('test.html')
В результате получилось:
[2020-02-24 04:44:06,093] INFO in _internal: 127.0.0.1 - - [24/Feb/2020 04:44:06] "PUT /test HTTP/1.1" 302 -
[2020-02-24 04:44:06,207] INFO in _internal: 127.0.0.1 - - [24/Feb/2020 04:44:06] "PUT /test HTTP/1.1" 302 -
[2020-02-24 04:44:06,331] INFO in _internal: 127.0.0.1 - - [24/Feb/2020 04:44:06] "PUT /test HTTP/1.1" 302 -
[2020-02-24 04:44:06,468] INFO in _internal: 127.0.0.1 - - [24/Feb/2020 04:44:06] "PUT /test HTTP/1.1" 302 -
[2020-02-24 04:44:06,567] INFO in _internal: 127.0.0.1 - - [24/Feb/2020 04:44:06] "PUT /test HTTP/1.1" 302 -
[2020-02-24 04:44:06,687] INFO in _internal: 127.0.0.1 - - [24/Feb/2020 04:44:06] "PUT /test HTTP/1.1" 302 -
Я искал его в StackOverflow для похожих проблем, но у меня есть не найдено ни одного рабочего решения. Кажется, что этот вопрос легко решить, но он занял у меня больше времени, чем хотелось бы.