Я бы, воспользовавшись данным рецептом, расширил стандартную модель юзера и дописал нужных полей и разрешений.
from django.contrib.auth.models import User, UserManager
class CustomUser(User):
"""User with app settings."""
patronymic = models.CharField(verbose_name=u'Отчество', max_length=50, blank=True)
# Use UserManager to get the create_user method, etc.
objects = UserManager()
class Meta:
permissions = (
('1', 'All action'),
('2', 'See, Add, Edit, Del Clients'),
('3', 'See Report'),
('4', 'Generated card'),
('5', 'See client')
)
в urls.py проверял бы доступ:
from django.contrib.auth.decorators import permission_required
urlpatterns = patterns(
'',
url(r'^client/', permission_required('accounts.5', raise_exception=True)(YOURVIEW), name='client'),
в шаблоне использовал бы подобные конструкции:
{% if perms.accounts.5 %}<a href="{% url 'client' %}">Клиенты</a>{% endif %}
Остается только создать юзеров и группы через админку. Затем раздать группам права и раскидать юзеров по группам. Каждый юзер, состоящий в группе, будет иметь все права группы. И не забываем, что каждому юзеру можно раздать индивидуальные права, не затрагивая всю группу целиком.
Updated 2 Nov. 2014, 13:47 by botinag.