【发布时间】:2017-06-28 20:36:57
【问题描述】:
我的 python 代码在本地运行时运行良好,但是当我点击表单上的提交按钮时在 Heroku 上失败,我收到错误:不允许的方法 请求的 URL 不允许该方法。
from flask import Flask, render_template, request, redirect
import dill
app = Flask(__name__)
@app.route('/',methods=['GET','POST'])
def main():
return redirect('/index')
@app.route('/index',methods=['GET','POST'])
def index():
message = ' '
if request.method == 'GET':
return render_template('index.html',output=message)
elif request.method == 'POST':
gender = request.form.get('sex')
poverty = request.form.get('poverty')
school = request.form.get('school')
marital = request.form.get("marital")
race = request.form.get("race")
orient = request.form.get("orient")
phys = request.form.get("phys")
drinks = request.form.get("drinks")
age = request.form.get("age")
message = ' '
output = get_risk([phys,orient,school,drinks,race,poverty,marital,gender,age])
if output ==0:
message = "Not At Risk"
elif output == 1:
message = "At Risk!"
return render_template('index.html',output=message)
def get_risk(features):
forest = dill.load(open('forest.pkd','rb'))
return forest.predict(features)
有什么建议吗?
【问题讨论】:
-
您好,欢迎来到 Stack Overflow,请花点时间通过 welcome tour 了解您在此处的方式(并获得您的第一个徽章),阅读如何创建 Minimal, Complete, and Verifiable example并检查How to Ask Good Questions,这样您就有机会获得反馈和有用的答案。
-
确保您的 HTML 在表单元素上具有
method="POST"属性,并且action属性指定了正确的路径。