为了账号安全,请及时绑定邮箱和手机立即绑定

Flask 请求对象始终为空(GET 和 POST)

Flask 请求对象始终为空(GET 和 POST)

MYYA 2021-08-11 21:36:28
这是代码:from flask import Flaskfrom flask import request, redirect, url_for, render_templatefrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://postgres:root@localhost/gradelink'db = SQLAlchemy(app)class Location(db.Model):    __tablename__ = 'location'    id = db.Column('id', db.Integer, primary_key=True)    location_name = db.Column('location_name', db.String(250), unique=True)    def __init__(self, location_name):        self.location_name = location_name            def __repr__(self):        return '<Location %r' % self.location_name@app.route('/')def index():    return render_template('home.html');@app.route('/location', methods=['GET', 'POST'])def location():    return render_template('location.html');    @app.route('/post_location', methods=['POST'])def post_location():    if request.method == "POST":        location_n = request.form['location_name']            return redirect(url_for('index'))@app.route('/location_list', methods=['GET', 'POST'])def location_list():    locationList = Location.query.all()    return render_template('location_list.html', locationList=locationList);if __name__ == '__main__':    app.run(debug=True)我尝试了 GET 和 POST 但仍然是相同的结果:对象没有属性“数据”对象没有属性“形式”location_list 完美运行。看起来请求总是空的我的提交表单html:<!DOCTYPE html><html><head>    <title>Location Form</title>    <meta charset="utf-8" /></head><body>    <form method="post" action="/post_location">    <label>Location name:</label>    <input id="location_name" name="location_name" type="text" />    <input type="submit" />    </form></body></html>我究竟做错了什么?编辑 1:我试过这个:@app.route('/post_location', methods=['POST'])def post_location():    if request.method == "POST":        location_n = request.form['location_name']            return redirect(url_for('index'))现在错误信息是:“函数”对象没有“方法”属性编辑2:我没有调用函数request,也没有很多其他函数(这是一个新的新项目)不,我的flask.py任何项目文件夹中都没有任何文件。
查看完整描述

2 回答

?
Helenr

TA贡献1780条经验 获得超4个赞

所以我最终关闭了所有东西,重新启动了我的电脑和 python。我收到了一个不同的错误(有些行有空格而不是 TAB 用于缩进)但很容易修复,然后一切正常。


查看完整回答
反对 回复 2021-08-11
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

在您的 locationName 之前,放入if request.method == POST:Then 标签下面的所有内容。


查看完整回答
反对 回复 2021-08-11
  • 2 回答
  • 0 关注
  • 642 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信