简介:许多朋友问有关如何验证Django装饰品的问题。首席执行官在本文中注明将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!
不像Python本身那么方便
您需要在周期中判断自己,例如:
....做什么...
但是,我仍然建议您在模板中少做一些事情。毕竟,该模板不用于提供计算,但它只是显示的框架。
学习Django查看策略时,我使用基于类的视图(CBV)遇到问题:
让我们简要介绍CBV:
我的观点如下:
URL:
最后,答案是在堆栈溢出上找到的。在此课程中,您不能使用@login_required Decorator,并且您需要使用Method_decorator来通过装饰器(或装饰器列表)并告诉应该装饰哪个类。在CBV中,装饰计划课程非常常见。在django内部使用(在视图类中定义)。所有请求都将通过此类,因此装饰性将相对安全。如下所示,请注意从django.utils.utils.decoratorsimport methodator:decorator:decorator:decorator:decorator:
这个问题得到了解决。这是堆栈溢出的原始答案链接:django/python:'function'对象没有属性'as_view' - 堆栈溢出
Django的用户授权管理也是该行业相对常见的RBAC(基于角色的AccessControl)的权限控制模型。实际上,非常简单:查看用户是否有权访问页面(视图),取决于此用户是否是否取决于此用户。具有访问此页面的必要字符(角色)。用户的所有字符都有两种方式
如果您使用is_authenticatienation()确定用户是否登录,则表示您使用Django的auth System,
然后,您的登录最好在django.contrib.auth中使用登录方法,
此方法将在会话中存储user_id和user_backend。
.s_authenticated()确定用户登录是否是通过确定会话中是否有user_id和user_backend来确定的。
如果您使用自己的登录方法,则可能不会将User_id或user_backend放入会话中。
因此,尽管您已登录,但您认为您的用户被视为Django登录。
最好的方法是使用Django自己的登录方法结合此方法,以确定用户登录是否确定确定用户的行为。
请求。登录时的要求是正常的,表明登录模块没有问题,但是当您询问其他API时,请求。Auth不登录,表明您的许可证_required the会话机制未保留。每个请求都需要登录一次(此可能性很低)。auth_user_id = 8的用户在设置权限时(即Permissionsde的Permissionsde的QuerySet)不包含此API时,不给予其权限。
结论:以上是首席CTO注释为所有人编制的Django装饰方式的所有内容。感谢您阅读本网站的内容。我希望这对您有帮助。不要忘记在此网站上找到它。