zoukankan      html  css  js  c++  java
  • 装饰器

    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/')
  • 相关阅读:
    package的使用
    package的使用
    访问控制符详解
    访问控制符详解
    继承
    Java 重写 & 重载 & super 关键字
    继承和权限控制
    错误: 程序包com.bjsxt.java140不存在
    package和import语句
    static关键字
  • 原文地址:https://www.cnblogs.com/liubailiang/p/11494044.html
Copyright © 2011-2022 走看看