对不起书呆子的问题,但我花了2天,但找不到任何解决方案。在python中使用@cached_property请求处理程序与python
这是我route.py配置
app = WSGIApplication(
routes=[
Route("/account", handler="app.account.Settings")
]
)
我创建了一个这样的处理程序(这需要登录)
@HealthPortRequestHandler.login_required
class Settings(HealthPortRequestHandler):
def get(self):
self.render("account/settings.html")
,创造login_required验证方法
@cached_property
def check_user_logged_in(self):
if self.request.cookies.get("User"):
user_id = self.read_cookie("User")
if user_id:
from models.users import Users
return Users.get_by_id(int(user_id))
else:
return None
return None
@staticmethod
def login_required(handler):
def check_login(self, *args, **kwargs):
if self.check_user_logged_in:
return handler(self, *args, **kwargs)
else:
return self.redirect("/login")
return check_login
但错误在此线路上调试时发现
if self.check_user_logged_in:
错误 提高AttributeError的(attr)使用
AttributeError: check_user_logged_in
怎样才能知道究竟发生了什么?有任何想法吗 ?
但无论如何,我固定我的代码为你的建议: '类设置(HealthPortRequestHandler): @ HealthPortRequestHandler.login_required 高清得到(个体经营): self.render( “帐号/ settings.html”) ' – user2165201