如何解决此“ werkzeug.exceptions.BadRequestKeyError”

时间:2019-11-01 18:28:16

标签: python sqlite flask

当我填写表格时,出现此错误的请求密钥错误。

跟踪:

werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand. KeyError: 'name'

项目目标:

从驱动程序中收集一些数据(开始时间,结束时间,里程),并以多少速度计算总里程数,并将所有驱动程序附加在图表上。

最终结果示例:

  

约翰| 39mi,时速47英里

     

贝蒂|时速52英里时46英里

================================================ ==========================================

Models.py

class Drivers(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(500))
    start_time = db.Column(db.DateTime, nullable=False)
    end_time = db.Column(db.DateTime, nullable=False)
    miles = db.Column(db.Integer, nullable=False)

    def __init__(self, **kwargs):
        super().__init__(**kwargs)

    def calc_driver(self):
        FMT = '%H:%M:%S'
        total_time = datetime.strftime(start_time, FMT) - datetime.strftime(end_time, FTM)
        distance = total_time * miles 
        return distance 

Routes.py

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


@drive.route('/submit_form', methods=['GET','POST'])
def submit_form():
    if request.method == 'POST':
        name = request.form['name']
        start_time = request.form['start_time']
        end_time = request.form['end_time']
        miles = request.form['miles']
        driver = Driver(
            name=name,
            start_time=start_time,
            end_time=end_time,
            miles=miles
        )
        db.session.add(driver)
        db.session.commit()
    return render_template('driver_added.html', driver_data=driver)

0 个答案:

没有答案