首页 > 其他 > 详细

装饰器

时间:2019-09-09 20:40:09      阅读:90      评论:0      收藏:0      [点我收藏+]

django中装饰器的使用:

  首先自定义一个装饰器

def my_decorator(func):
    def inner(*args, **kwargs):
        print(装饰器的功能)
        return func(*args, **kwargs)
    return inner

  一、基于函数的视图使用装饰器

@my_decorator
def add_student(request):
    return render(request, add_student.html)

  二、基于类的视图使用装饰器

    1.在每个方法前注册装饰器

from django.views import View
from django.utils.decorators import method_decorator


class AddStudent(View):

    @method_decorator(my_decorator)
    def get(self):
        return render(self.request,add_students.html)

    @method_decorator(my_decorator)
    def post(self):
        name = self.request.POST.get(name)
        pwd = self.request.POST.get(password)
        return redirect(/students/)

    2.在类的前面注册装饰器

from django.views import View
from django.utils.decorators import method_decorator

@method_decorator(my_decorator,name=get)
@method_decorator(my_decorator,name=post)
class AddStudent(View):
    def get(self):
        return render(self.request,add_students.html)

    def post(self):
        name = self.request.POST.get(name)
        pwd = self.request.POST.get(password)
        return redirect(/students/)

 

装饰器

原文:https://www.cnblogs.com/liubailiang/p/11494044.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!