我以这种方式为我的请求设置 header :
class ContactInfoHandler(tornado.web.RequestHandler):
def set_default_headers(self):
print "setting headers!!!"
self.set_header("Access-Control-Allow-Origin", "*")
self.set_header("Access-Control-Allow-Headers", "x-requested-with")
self.set_header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS')
def get(self, *args, **kwargs):
self.write('something')
我必须为我的所有处理程序执行此操作,有没有办法在我的整个 Tornado 项目中执行此操作?
最佳答案
您可以编写一个继承自 tornado.web.RequestHandler
的处理程序,然后所有用作 API 的处理程序都可以从该处理程序继承。这是下面的示例。
from tornado.web import RequestHandler
class BaseHandler(RequestHandler):
def get(self, *args, **kwargs):
self.write("say something")
def set_default_headers(self, *args, **kwargs):
self.set_header("Access-Control-Allow-Origin", "*")
self.set_header("Access-Control-Allow-Headers", "x-requested-with")
self.set_header("Access-Control-Allow-Methods", "POST, GET, OPTIONS")
完成这一步后,您可以通过编写继承自 BaseHandler
的处理程序来完全继承 BaseHandler
的功能。
class ContactInfoHandler(BaseHandler):
def get(self, *args, **kwargs):
self.write("something")
class TestInfoHandler(BaseHandler):
def post(self, *args, **kwargs):
self.write("test result is here")
关于python - 为 Tornado 中的所有请求设置 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42434645/