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第三方库


热门话题
安卓为什么Java AudioEffect不支持双簧管?   增加内存后出现java IntelliJ堆大小错误   在unix/linux中工作的java中将unicode字符串转换为ASCII   java是否缺少正确对齐输出的值?   java Spring 3 MVC:动态表单中的onetomany(创建/更新时添加/删除)   java在接口中创建两个通用参数   lambda使用Java 8从嵌套列表中使用forEach查找项的替代方法是什么?   Java正则表达式匹配10位电话号码,中间有空格   linux将log4j外部化。使用命令行Java的属性文件   带有SSL的java简单RMI服务器   java无法为事务[…]打开JPA EntityManager无法获取驱动程序类“null”和URL“null”的连接   Android设备上的java Oauth Foursquare   for循环的ImageButton名称的java骰子模拟浓缩   java有没有简单的1d条形码阅读器?   如何在调用resultset后解决“无效字符串或缓冲区长度”。从java到访问mdb的getString()连接   在Java8中,是否可以使用JVM参数来控制何时(或在什么条件下)卸载类?