django行级对象共享应用程序。

django-sharing的Python项目详细描述


Django共享

django行级共享应用程序限制django管理员中用户的内容访问。

功能

  1. 提供管理视图、更改和删除权限、限制内容访问和限制每个用户的可用操作。
  2. 按视图权限筛选ForeignKey字段。
  3. 按视图权限筛选ManyToManyField字段。
  4. 自动启用所有管理类上的共享(可选)。

安装

  1. 在python路径中安装或添加django共享。
  2. 'sharing'添加到项目的INSTALLED_APPS设置中。
  3. '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类,您的管理更改视图应该包括GroupUser共享内联线并适当地限制内容。

作者

praekelt基金会

  • 肖恩·塞普顿

更改日志

0.0.2

  1. 解决了save_模型上的类名问题。

0.0.1

  1. 初次发布。

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

推荐PyPI第三方库


热门话题
Spring 4升级后未加载java应用程序上下文   java Android 2.3.3 internet可以在我的Galaxy S上运行,但不能在我的Galaxy选项卡上运行?(许可?)   java通过不改变其原始位置对大小写字母进行排序   java Spring Boot一直在破坏我的电脑。。。sts的最佳配置是什么。Windows 10上的ini文件?   css Java Spring+引导问题   java Jackson将GeoJsonPoint序列化为纬度/经度   xml Java Transformer:如何将其结果生成OutputStream?   java如何更改字体、文本大小和设置文本位置?   在JavaSpringHibernate3.6.3中,如何告诉一个方法等待,直到获得锁,以及如何重试失败的事务?   java安卓服务代替线程   Java Swing使用鼠标移动JFrame