我对Flask很新。我已经构建了一个Flask应用程序,我将它托管在服务器上。以下是烧瓶应用程序的代码
from flask import Flask, render_template, request
import pandas as pd
df = pd.read_csv("./Predicted.csv")
app = Flask(__name__)
@app.route("/", methods=['GET', 'POST'])
def index():
return render_template('index.html')
@app.route("/submit", methods=['GET', 'POST'])
def submit_table():
if request.method == 'POST':
if request.form['submit'] == 'Get Started!':
html_string = df.to_html()
return render_template('submit.html', q1=html_string)
if __name__ == '__main__':
app.run(host="0.0.0.0",port=5050, threaded=True)
我需要该应用仅对内部组织可见。服务器名称为10.143.284.249 当我转到以下链接时,它会正常工作http://10.143.284.249:5050/。但是,当我点击"开始!"按钮,它重定向到http://localhost:5000/submit,当我将其更改为http://10.143.284.249:5050/submit时,我收到内部服务错误。
我有2个问题,
1)如何更改我的代码,使其重定向到服务器的地址而不是localhost:5000,但是10.143.284.249:5050
2)导致内部服务错误的原因是什么,因为当我在本地运行它时,它正在运行。
答案 0 :(得分:0)
500错误可能是submit_table()
没有为GET
返回任何内容造成的。如果您计划支持GET
和POST
,则在两种情况下,您的函数都应该向浏览器返回一些内容。
您还没有收到index.html
,因此如果点击“使用入门”会使用POST
,我无法确定。但是,一旦您手动浏览到http://10.143.284.249:5050/submit,那肯定会使用GET
并且您的功能无法处理。