Flask after_request'NonType'对象不可调用

Lal*_*mar 3 python flask

我有一个非常繁重的应用程序建立在flask-restful上,所以我将在这里展示问题的较小版本.我将我的应用程序划分为具有该结构的模块

Folder A:  
    __init__.py (empty)
    main-file.py (executable file)
    other-file.py  
Run Code Online (Sandbox Code Playgroud)

other-file.py

from flask_restful import reqparse, abort, Api, Resource
from flask import Flask

TODOS = {
'todo1': {'task': 'build an API'},
'todo2': {'task': '?????'},
'todo3': {'task': 'profit!'},
}
class TodoList(Resource):
    def get(self):
        return TODOS  
Run Code Online (Sandbox Code Playgroud)

main-file.py

from flask import Flask,request
from  other-file import *

app = Flask(__name__)
api = Api(app)

@app.before_request
def before_request():
    print 'before request'

@app.after_request         #This block fails
def after(response):
    print 'after request'
    #I need to perform some db operations here 


api.add_resource(TodoList, '/todos')


if __name__ == '__main__':
    app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)

这里的问题是在除了afer_request之后除了代码之外一切正常.我需要执行一些与数据库相关的操作,以便在每次请求后登录请求数据.当我运行main-file.py时,我得到了TypeError: 'NoneType' object is not callable

不知怎的,我已经明白,after_request中的响应obj给出了None.我被困在这里使after_request工作.任何帮助将不胜感激.谢谢.

Oin*_*Oin 10

完成后返回响应:

@app.after_request         #This block fails
def after(response):
    # do your database stuff
    return response
Run Code Online (Sandbox Code Playgroud)