实现一个函数来测试给定的url当前是否对给定的用户可见。

django-page-visibilit的Python项目详细描述


django_page_可见性

这个包实现了一个标准协议,允许开发人员询问“用户X当前是否可以访问Y页?”。在

不是重复在该视图中执行的权限检查,而是询问视图本身用户是否可以访问它。在

一致意见

一致性视图必须实现.test_page_visibilty(request, *args, **kwargs)方法。将使用与调用实际视图相同的args和{}来调用它。在

如果用户可以访问页面,则此方法必须返回一个truthy值,否则返回False。它还可能引发异常,指示用户无法访问该页面。见下文PAGE_VISIBILITY_EXCEPTIONS。在

测试功能

开发人员可以调用django_page_visibility.is_visible_to_user(path, user)(有关详细信息,请参阅代码)来测试可见性。或者,在模板中,您可以使用我们的is_permitted_to_see过滤器或permitted_link标记。在

PAGE_VISIBILITY_EXCEPTIONS设置

默认情况下,如果引发django.http.Http404或{},则返回False。您可以通过(在django设置中)PAGE_VISIBILITY_EXCEPTIONS设置为异常类的列表来覆盖它。在

我们希望大多数用户覆盖此设置。例如,如果您正在使用exceptional_authdjango_early_return,那么您需要设置:

PAGE_VISIBILITY_EXCEPTIONS=['django.core.exceptions.PermissionDenied','django.http.Http404','django_early_return.EarlyReturn','exceptional_auth.AuthException',]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是数据线。getMicrosecondPosition()线程安全?   java我可以设置多个。whereEqualTo在firestore查询中指向文档中的字段?   java Intellij 14 Glassfish服务器未连接。部署不可用   java JPA。如何返回null而不是LazyInitializationException   java TarsosDSP Clap检测   比较基于字符串的java枚举   java空指针异常日历。设定时间   java Hystrix在运行时忽略超时   将数据从Java RESTful服务器推送到Android手机上进行通知   java Jnotify delete vs shift delete问题   java安装失败\u没有匹配\u ABIS res113   TreeJava:传递未实例化的对象引用是如何工作的?   java如何使用Android ringtone manager从资产文件夹播放铃声?   java在Dropwizard的不同状态下使用不同的模拟