【问题标题】:flask url_for returns internal server errorflask url_for 返回内部服务器错误
【发布时间】:2019-11-24 23:15:26
【问题描述】:

我正在尝试使用烧瓶将表单提交给 python 脚本。表格在我的 index.html -

<form action="{{ url_for('/predict') }}" method="POST">
    <p>Enter Mileage</p>
    <input type="text" name="mileage">
    <p>Enter Year</p>
    <input type="text" name="year">
    <input type="submit" value="Predict">
</form>

这是我的烧瓶页面 (my_flask.py)-

@app.route('/')
def index():
    return render_template('index.html')


@app.route('/predict', methods=("POST", "GET"))
def predict():
    df = pd.read_csv("carprices.csv")
    X = df[['Mileage','Year']]
    y = df['Sell Price($)']
    X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2)
    clf = LinearRegression()
    clf.fit(X_train, y_train)

if request.method == 'POST':
    mileage = request.form['mileage']
    year = request.form['year']
    data = [[mileage, year]]
    price = clf.predict(data)
return render_template('prediction.html', prediction = price)

但是当我转到我的索引页面时,由于

而出现内部服务器错误

为什么会发生这种情况? {{ url_for('/​​predict') }}

【问题讨论】:

    标签: python flask


    【解决方案1】:

    不要使用url_for('/predict'),而是删除前导斜杠并使用url_for('predict')

    url_for(...) 采用方法名称而不是路由名称。

    【讨论】:

    • 谢谢,是的,这是我遇到的另一个问题,我还需要导入 url_for
    • 我现在确实遇到了另一个问题,即提交表单时找不到 404。不知怎的,我的路径不正确。
    【解决方案2】:

    我没有导入 url_for。

    from flask import Flask, request, render_template, url_for
    

    【讨论】:

    • 如果是这样,那么代码就不会编译。
    • 是的,不确定,我正在使用 pythonanywhere.. 它现在可以工作了
    猜你喜欢
    • 1970-01-01
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2013-07-24
    相关资源
    最近更新 更多