Django field permission package
Project description
DFPermission
Installation
pip install df-permission
Configuration
INSTALLED_APPS = [
...,
'df_permission'
]
Generate permissions
./manage.py generate_df_permissions
Attributes
df_method
- Method of action
- Valid values are
create
,update
,retrieve
,list
,destroy
class MyView(CreateAPIView):
permission_classes = [DFPermission]
df_method = 'create'
...
or
class MyView(CreateAPIView):
permission_classes = [DFPermission]
df_method = DFMethods.CREATE
...
df_model
- Model
class MyView(CreateAPIView):
permission_classes = [DFPermission]
df_model = MyModel
...
df_fields
- Fields
class MyView(CreateAPIView):
permission_classes = [DFPermission]
df_fields = ['field1', 'field2', ...]
...
df_permissions
- Permissions
- type:
string
,list
,tuple
class MyView(CreateAPIView):
permission_classes = [DFPermission]
df_permissions = ['permission1', 'permission2', ...]
...
or
class MyView(CreateAPIView):
permission_classes = [DFPermission]
df_permissions = 'permission1'
...
df_allow_superuser
- Allow superuser if value is True
- Type:
boolean
- Default:
False
Methods
get_df_permissions
- Customize df_permissions
class MyView(CreateAPIView):
permission_classes = [DFPermission]
def get_df_permissions(self):
# write your logic code
return # single permission or permissions
How does it work?
First, find df_permissions
attribute. If it
does not exist, find get_df_permissions
method.
If it does not exist too, generate permissions.
First for this, collect fields that are permission
required. Find df_fields
, if it exist. Else get
serializer class to get fields and get intersection
with model fields.
Then, generate required perms using fields and df_method
.
Finally, user's permissions are checked.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
df-permission-0.1.5.tar.gz
(5.2 kB
view hashes)
Built Distribution
Close
Hashes for df_permission-0.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5491f829e3641f30d3b370ed00bd17e8beab5022a307aafe4a005364a1f3aa5 |
|
MD5 | bc2d4fbbbc2c44b1aad6e7f6fb1320c4 |
|
BLAKE2b-256 | 3449bf81752bc969d305969a7c58a8bedfdfdc0b2c4b8b93cb4f1606dc924322 |