django行级对象共享应用程序。
django-sharing的Python项目详细描述
Django共享
django行级共享应用程序限制django管理员中用户的内容访问。
功能
- 提供管理视图、更改和删除权限、限制内容访问和限制每个用户的可用操作。
- 按视图权限筛选ForeignKey字段。
- 按视图权限筛选ManyToManyField字段。
- 自动启用所有管理类上的共享(可选)。
安装
- 在python路径中安装或添加django共享。
- 将'sharing'添加到项目的INSTALLED_APPS设置中。
- 将'sharing.backends.SharingBackend'添加到项目的AUTHENTICATION_BACKENDS设置中。
使用量
为了让django共享限制内容访问,您的各种管理类需要包含ShareAdminMixin类。例如:
# admin.py from django.contrib import admin from sharing.admin import ShareAdminMixin class ArticleAdmin(ShareAdminMixin, admin.ModelAdmin): pass admin.site.register(Article, ArticleAdmin)
ShareAdminMixin是管理类定义中的第一个祖先类,这一点至关重要。
或者,您可以自动为在管理站点注册的所有模型启用共享。django共享包含一个admin_mixin_share方法,该方法将ShareAdminMixin类应用于在管理站点注册的所有模型。在url中的admin.autodiscover()之后调用方法。py:
# urls.py from django.conf.urls.defaults import * from django.contrib import admin import sharing admin.autodiscover() sharing.admin_mixin_share() urlpatterns = patterns('', (r'^admin/', include(admin.site.urls)), )
一旦应用了ShareAdminMixin类,您的管理更改视图应该包括Group和User共享内联线并适当地限制内容。
更改日志
0.0.2
- 解决了save_模型上的类名问题。
0.0.1
- 初次发布。