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/')
  • 相关阅读:
    java配置文件读取
    简易表单验证
    Enter键提交表单
    background-attachment:fixed应用
    随机生成密钥
    javascript/jquery判断是否为undefined或是null!
    jQuery获取和设置disabled属性、背景图片路径
    $(function(){})里面不能声明定义函数
    CSS浏览器兼容性----Hack
    数组快速排序
  • 原文地址:https://www.cnblogs.com/liubailiang/p/11494044.html
Copyright © 2011-2022 走看看