Я развернул свое приложение flask на Heroku. Я могу отобразить index. html, которая является главной страницей приложения. Однако при нажатии кнопки «Отправить» в форме я получаю внутреннюю ошибку сервера 500.
Мое приложение работает локально. Нет проблем, пока приложение работает в моей локальной среде.
Журналы Heroku:
2020-05-28T16:34:06.000000+00:00 app[api]: Build succeeded
2020-05-28T16:34:22.121630+00:00 heroku[router]: at=info method=GET path="/" request_id=86cc3f14-9304-42a4-b96b-c39e678a62d2 fwd="213.74.87.231" dyno=web.1 connect=1ms service=18ms status=200 bytes=4291 protocol=https
2020-05-28T16:34:26.104211+00:00 heroku[router]: at=info method=POST path="/result" request_id=c6dd5146-83ca-4186-becc-bd48383c9dec fwd="213.74.87.231" dyno=web.1 connect=1ms service=847ms status=500 bytes=470 protocol=https
Мой код выглядит так:
@app.route("/", methods=['POST', 'GET'])
def main_page():
return render_template("index.html")
@app.route("/result", methods=['POST', 'GET'])
def display_result():
prediction_global = 0
if request.method == "POST":
# I didn't paste all code that is written in the actual code.
return render_template("index.html", result=data)
А у меня только одна HTML страница под названием «index. html».
Индекс. html:
<form action="/result" method="post">
<select id=option-select>
<option value="option1" name="option1">option1</option>
<option value="option2" name="option2">option2</option>
</select>
<input type="submit" value="Predict" name="predict">
</form>
{% if result %}
<h2> Result: {{ result }}$ per day. </h2>
{% endif %}
Я предполагаю, что существует проблема с маршрутизацией сообщений, потому что в журналах метод post дает статус = 500