Модуль decorators

login_required(function=None, json_only=False, login_url=None)

Изменено в версии 3.4: Считается устаревшим, используйте auth_required

Декоратор для представлений, который проверяет авторизован ли пользователь и активен ли он, при необходимости переадресовывает на страницу авторизации.

auth_required(function=None, login_url=None)

Добавлено в версии 3.3: Является заменой устаревшему login_required

Декоратор для методов QuickAPI, доступ к которым должны иметь только авторизованные пользователи. В отличии от предшественника, умеет сразу авторизовывать пользователя, если он ещё неавторизован и в запросе имеются данные для входа пользователя.

api_required(function=None, get=False, post=True, ajax_get=False, ajax_post=True, not_ajax_get=False, not_ajax_post=True)

Изменено в версии 3.5: Добавлены параметры get и post - переключающие все свои типы запросов

Декоратор для представлений, которые должны работать с API. По умолчанию все GET запросы запрещены.

Пример использования

from django.contrib.auth.models import Group

from quickapi.decorators import auth_required, api_required
from quickapi.http import JSONResponse

@auth_required
@api_required(get=True)
def exists_group(request, name):

    groups = Group.objects.filter(name=name)

    return JSONResponse(data=bool(groups))

Примечание

В GET запросе нельзя передавать авторизационные данные, так как они могут быть раскрыты из лог-файлов вэбсервера. Поэтому это представление будет работать только с авторизацией по ключу сессии.