Модуль 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
запросе нельзя передавать авторизационные данные, так как
они могут быть раскрыты из лог-файлов вэбсервера. Поэтому это
представление будет работать только с авторизацией по ключу
сессии.