一个简单的feincms扩展,它将权限检查添加到模型中。
feincms-pagepermissions的Python项目详细描述
一个简单的FeinCMS扩展,它添加 对模型的权限检查。假设模型是一个页面,但它可以 做任何一个外国模特。
用法
使用pip:
安装pip install feincms-pagepermissions
更改django设置以包括页面权限:
INSTALLED_APPS+=('pagepermissions',)
然后将扩展名添加到您的内容类型:
Page.register_extensions(...'pagepermissions.extension',)
如果需要为permissions
字段指定参数,即limit_choices_to
:
frompagepermissions.extensionimportExtensionFactoryasPagePermissionExtensionFactoryPage.register_extensions(...PagePermissionExtensionFactory.with_model_params('MyCustomPermissionExt',limit_choices_to=Q(…)),)
这将向您的内容类型添加一个权限字段,您必须添加该字段 你自己通过syncdb或者south或者其他方式。
当您编辑或添加页面时,可以选择设置 用户查看该页所需的权限。您可以选择多个 权限,如果用户拥有其中任何权限,他们将能够查看 第页。否则他们将得到403分。
最后,如果用户有 没有查看权限。为此,有一个名为 check_page_permission。在模板中按如下方式使用:
{%loadfeincms_page_tagsfeincms_pagepermissions_tags%}{%feincms_navfeincms_pagelevel=1depth=1aslevel1%}{%forpageinlevel1%}{%ifpage|check_page_permission:user%} ...display page navigation... {%endif%}{%endfor%}
贡献
非常欢迎您的拉动请求!请遵循既定的代码样式。
许可证
feincms pagepermissions在BSD license下被释放。