一点关于django类视图装饰器的小笔记。
django类视图是很常用的,对于传统的函数视图来说,装饰器可以直接装饰函数,但类视图,装饰器无法直接装饰类方法。
比较了几种常见的解决方法,个人觉得比较优雅的解决方法如下:
from django.shortcuts import render from django.utils.decorators import method_decorator from django.views.decorators.csrf import csrf_exempt from django.views.generic import View @method_decorator(csrf_exempt, name="dispatch") class login(View): @method_decorator(auth_login) def get(self, request, username): #....func... return render(request, 'login.html', {"displayName":username, "admin_flag":admin_flag})