Подтвердить что ты не робот

Flask - ошибка POST 405 не допускается

Я только начинаю изучать Flask, и я пытаюсь создать форму, которая позволит использовать метод POST. Здесь мой метод:

@app.route('/template', methods=['GET', 'POST'])
def template():
    if request.method == 'POST':
        return "Hello"
    return render_template('index.html')

И мой index.html:

<html>
  <head>
    <title> Title </title>
  </head>
  <body>
    Enter Python to execute:
    <form action="/" method="post">
      <input type="text" name="expression" />
      <input type="submit" value="Execute" />
    </form>
  </body>
</html>

Загрузка формы (рендеринг ее при получении GET) отлично работает. Однако, когда я нажимаю кнопку отправки, я получаю метод POST 405 Method Not Allowed. Почему не отображается Hello?

4b9b3361

Ответ 1

Ваша форма отправляет /, когда метод маршрутизируется для /template, если это не опечатка, вы должны настроить атрибут формы action и указать его на '/template'.

Ответ 2

Заменить:

 <form action="/" method="post">

с:

 <form action="/template" method="post">

Ответ 3

Если вы не хотите каждый раз запоминать URL-адрес, тогда сделайте это. Он будет работать нормально.

Заменить:

<form action="/" method="post">

с:

<form action="" method="post">