#ubuntu #nginx #flask
#ubuntu #nginx #flask
Вопрос:
У меня есть приложение flask, которое обрабатывает мой веб-сайт. У меня на целевой странице есть кнопка, которая перенаправляет меня на другую страницу на том же сервере. Все работает локально. При попытке разместить его на сервере nginx я попадаю на обычную домашнюю страницу. При нажатии на кнопку в моем браузере появляется следующая ошибка:
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the
server is overloaded or there is an error in the application.`
Для размещения на сервере nginx я использовал следующее руководство: https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uswgi-and-nginx-on-ubuntu-18-04
Вот код для моего приложения на python:
from flask import Flask, render_template, request, redirect
import urllib.request
import json
import pandas as pd
# initialize flask
app = Flask(__name__)
# home view
@app.route('/', methods=['POST', 'GET'])
def index():
if request.method == 'POST':
return redirect('/table')
else:
return render_template('index.html', title='Alien Sight')
# table view
@app.route('/table', methods=['POST', 'GET'])
def table():
if request.method == 'POST':
with urllib.request.urlopen("http://internal_ip") as url:
aliens = json.loads(url.read().decode())
df = pd.DataFrame(aliens).transpose()
return render_template('table.html', title='Alien Sight', data=df)
else:
return "<h1>This is not the website you are looking for.</h1>"
# run flask
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8080, debug=True)
Как мне это решить? Оба HTML-файла находятся в одном каталоге.