0

对于我的应用程序的许多功能,它需要使用

@auth.requires_login()

这是否意味着必须运行与模型中定义的对象相关的所有代码才能Auth将请求提供给需要装饰器的操作?如果不是,我应该如何重构代码以尽量减少不必要的代码部分执行?Auth

4

1 回答 1

1

仅仅检查用户是否登录并不一定需要运行所有的 Auth 代码。您必须实例化 Auth 对象,但不必运行auth.define_tables()(它定义了所有 Auth 表)。请注意,如果您不定义 Auth 表,则auth.navbar()辅助函数将无法按原样工作,因为它会尝试引用 auth_user 表的属性。作为一种解决方法,您可以创建一个自定义导航栏功能(无论如何您都可能想要这样做),或者至少定义一个表。

于 2012-07-08T03:30:21.133 回答