Пользователи, права, авторизация

Права задаются в виде app_name.action_model и есть три права:

  • add - добавление
  • change - изменение
  • delete - удаление

но можно создать и свои permissions.

По умолчанию, в контекст шаблонов добавляются переменные user и perms.

  • user - пользователь

    {% if user.is_authenticated %}
        ...
    {% endif %}
    
  • perms - права, которыми обладает пользователь

    {% if perms.good.add_good %}
        ...
    {% endif %}
    

Конфигурирование

authenticate

django.contrib.auth.authenticate(username, password)

Аутентификация пользователя, если пользователя нет вернет None.

user = authenticate(
    username=form.cleaned_data['username'],
    password=form.cleaned_data['password'],
)

login

django.contrib.auth.login(request, user)

Авторизация пользователя

login(request, user)