django的规则注册
项目描述
这是一个django-rules的简单替代品。它的核心区别在于它不依赖于模型。相反,它使用一个可以在运行时修改的注册表。
其目标之一是允许外部应用程序的开发者创建规则,依赖它,同时允许项目覆盖规则。
示例 your_app/rules_light_registry.py
# Everybody can read a blog post (for now!):
rules_light.registry['blog.post.read'] = True
# Require authentication to create a blog post, using a shortcut:
rules_light.registry['blog.post.create'] = rules_light.is_authenticated
# But others shouldn't mess with my posts !
def is_staff_or_mine(user, rule, obj):
    return user.is_staff or obj.author == user
rules_light.registry['blog.post.update'] = is_staff_or_mine
rules_light.registry['blog.post.delete'] = is_staff_or_mine示例 your_app/views.py
@rules_light.class_decorator
class PostDetailView(generic.DetailView):
    model = Post
@rules_light.class_decorator
class PostCreateView(generic.CreateView):
    model = Post
@rules_light.class_decorator
class PostUpdateView(generic.UpdateView):
    model = Post
@rules_light.class_decorator
class PostDeleteView(generic.DeleteView):
    model = Post您可以阅读教程以了解更多信息。
有什么缺点?
缺点是这种方法不提供获取安全查询集的任何功能。
这意味着您必须
- 在制作查询集时考虑安全性, 
- 覆盖最终的外部应用ListViews,如下, 
要求
- Python 2.7+ (Python 3兼容) 
- Django 1.8+ 
快速安装
- 安装模块: pip install django-rules-light, 
- 添加到 settings.INSTALLED_APPS: rules_light, 
- 在 settings.MIDDLEWARE_CLASSES 中添加(或 settings.MIDDLEWARE 对于 Django 1.10+): rules_light.middleware.Middleware, 
您可以阅读教程。
还有大量的文档,从核心到工具,包括调试、日志和测试安全性的指南。
贡献
资源
要提问或只是获取有关包更新的信息,您可以订阅邮件列表。
项目详情
    
       关闭
    
      
        
    
    
  
django-rules-light-0.3.2.tar.gz 的散列
| 算法 | 散列摘要 | |
|---|---|---|
| SHA256 | 769982eeb2b5260a0ea1b2bfddb968a95863499d6d528f0113231c0a179a7153 | |
| MD5 | 568acf32f02bfbcfbf18fece2d7de70d | |
| BLAKE2b-256 | 4f9d4f89164725ffe4a9472366aaf38d969b1b27c01fbc42d620dc7952e5782d |