Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 烧瓶请求对象始终为空(获取和发布)_Python_Postgresql_Post_Flask_Request - Fatal编程技术网

Python 烧瓶请求对象始终为空(获取和发布)

Python 烧瓶请求对象始终为空(获取和发布),python,postgresql,post,flask,request,Python,Postgresql,Post,Flask,Request,代码如下: from flask import Flask from flask import request, redirect, url_for, render_template from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://postgres:root@localhost/gradelink' db = S

代码如下:

from flask import Flask
from flask import request, redirect, url_for, render_template
from flask_sqlalchemy import SQLAlchemy

app = 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)
现在,错误消息是:

“函数”对象没有属性“方法” 编辑2:

我没有一个名为
request
的函数,也没有很多其他函数(这是一个新项目)

不,我的任何项目文件夹中都没有任何
flask.py
文件

编辑3:Flask和Python版本

C:\Users\Daniel>flask --version
Flask 1.0.2
Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit (AMD64)]
回溯

builtins.AttributeError
AttributeError: 'function' object has no attribute 'method'

Traceback (most recent call last)
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 2309, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 2295, in wsgi_app
response = self.handle_exception(e)
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1741, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\_compat.py", line 35, in reraise
raise value
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\_compat.py", line 35, in reraise
raise value
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "C:\myproject\flask\__init__.py", line 89, in post_location
if request.method == "POST":
AttributeError: 'function' object has no attribute 'method'

在locationName之前,如果request.method==POST:则输入
,然后在下面的所有内容上加上制表符

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

我尝试了你的建议,但没有成功(请看我的编辑1)。你有没有定义一个名为
request
的函数?您的路径中是否有一个名为
flask.py
的文件?您如何初始化和运行Flask应用程序?做您知道如何在调试模式下运行代码吗?这样做并检查
请求
实际上是什么,因为听起来它实际上不是Flask的
请求
代理。也许这会有助于发布您的完整代码。我在问题中添加了完整代码,我如何检查请求?代码正在调试中,我承认我看不出代码有什么问题。你是怎么运作的?如何报告错误?你有追踪记录吗?Flask服务器启动了吗?哦,在HTML中,用小写字母do write method=“post”。
C:\Users\Daniel>flask --version
Flask 1.0.2
Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit (AMD64)]
builtins.AttributeError
AttributeError: 'function' object has no attribute 'method'

Traceback (most recent call last)
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 2309, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 2295, in wsgi_app
response = self.handle_exception(e)
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1741, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\_compat.py", line 35, in reraise
raise value
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\_compat.py", line 35, in reraise
raise value
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\Daniel\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "C:\myproject\flask\__init__.py", line 89, in post_location
if request.method == "POST":
AttributeError: 'function' object has no attribute 'method'