Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

decorators

access_decorator.py - В django есть декоратор @login_required который перед выполнением обработчика, проверят авторизован ли пользователь, если нет, то редиректит его на страницу авторизации, данный же декоратор выполняет тот же функционал, но условие, и действие определяете вы сами. За идею по улучшению спасибо AspirantDrago

from access_decorator import right_required


def teacher_required(request, *args, **kwargs):
    if request.user.is_authenticated:
        return request.user.is_teacher()


def r_404(request, *args, **kwargs):
    raise Http404()


@right_required(teacher_required, r_404)
def view(request):
    ...

# OR

path(
    'update-course/<int:course_id>',
    right_required(teacher_req, r_404)(ViewClass.as_view()),
     name='update_course'
),