ฉันมีตัวจัดการที่จัดการคำขอด้วยวิธีรับและโพสต์ ฉันต้องการใช้การตรวจสอบสิทธิ์กับมัณฑนากรที่กำหนดเองของฉันเอง ไม่ใช่ทอร์นาโดเอง @tornado.web.มัณฑนากรที่ได้รับการรับรองความถูกต้อง ในมัณฑนากรแบบกำหนดเองของฉัน ฉันต้องสืบค้น db เพื่อระบุผู้ใช้ แต่การสืบค้น db ในพายุทอร์นาโดนั้นไม่พร้อมกันกับ @gen.coroutine
รหัสของฉันคือ:
handlers.py;
@account.utils.authentication
@gen.coroutine
def get(self, page):
บัญชี/utils.py:
@tornado.gen.coroutine
def authentication(fun):
def test(self,*args, **kwargs ):
print(self)
db = self.application.settings['db']
result = yield db.user.find()
r = yield result.to_list(None)
print(r)
return test
แต่เกิดข้อผิดพลาดเมื่อเข้าถึง :
Traceback (การโทรล่าสุดครั้งล่าสุด): ไฟล์ "/Users/moonmoonbird/Documents/kuolie/lib/python2.7/site-packages/tornado/web.py", บรรทัด 1443 ใน _execute result = method(*self.path_args, **self.path_kwargs) TypeError: ไม่สามารถเรียกวัตถุ 'อนาคต' ได้
ใครสามารถตอบสนองสิ่งนี้มาก่อนได้ วิธีที่ถูกต้องในการเขียนมัณฑนากรแบบกำหนดเองเพื่อตรวจสอบสิทธิ์กับการดำเนินการ async db คืออะไร ขอบคุณล่วงหน้า~