PS:CBV中添加装饰器
def wrapper(func):
def inner(*args,**kwargs):
return func(*args,**kwargs)
return inner
#1.指定方法上添加装饰器
class Foo(View):
@method_decorator(wrapper)
def get(self,request):
pass
def post(self,request):
pass
2.在类上添加
@method_decorator(wrapper,name='dispatch')
class Foo(View):
def get(self,request):
pass
def post(self,request):
pass
#CBV代码
# 1.路由系统 urlpatterns = [ url(r'^login.html$', views.Login.as_view()), ] # 2.views类 """ get 查 post 创建 put 更新 delete 删除 """ # 根据request.method的方式自动执行对应的函数。 # 我们可以重写dispatch函数来实现类似装饰器的效果,dispatch内部根据反射来实现函数执行。 from django.views import View class Login(View): def get(self,request): return render(request, "login.html") def post(self, request): name = request.POST.get("user") print(name) return HttpResponse("from post ") def dispatch(self, request, *args, **kwargs): print("-----before------") ret = super().dispatch(request,*args,**kwargs) print("-----after------") return ret # # CBV应用装饰器 # django的bug,不能直接对类进行装饰,必须使用 method_decorator,把装饰器当作参数传进去。 from django.utils.decorators import method_decorator @method_decorator(wrapper, name="post")
相关推荐
python项目开发实战_在线商城系统(Django+Mezzanine+Cartridge)_编程案例实例课程教程.pdf
首先介绍了Django的安装与环境配置,然后逐步讲解了如何创建项目、设计数据库模型、利用Django管理界面进行模型管理、执行数据库迁移、使用QuerySet和Manager进行数据操作、创建视图、模板和URLs,以及如何为视图...
Django 中文文档 1.8 Update 20161127 __
python web开发 django最好的学习教程 django 推荐书籍
Python Django Web典型模块开发实战_用Django设计大型电商的类别表_编程项目案例实例详解课程教程.pdf
Python Django Web典型模块开发实战_用Django实现百度开发者认证业务模型_编程项目案例实例详解课程教程.pdf
Django提供了一个`method_decorator`装饰器,用于将普通的函数装饰器转换为适用于类视图的方法装饰器。使用`method_decorator`,我们可以针对类视图的特定方法或者所有方法应用装饰器。 - **为全部请求方法添加...
标题 "sun-web.tar.gz" 指的是一份压缩文件,包含了名为 "Django_web_django_django blog_python html_python" 的项目。这个项目显然基于Python的Django框架构建了一个Web应用,主要用于创建一个博客系统。描述中...
采用技术: Django 系统实体对象: 图书类型:图书类别,类别名称,可借阅天数 图书:图书条形码,图书名称,图书所在类别,图书价格,库存,出版日期,出版社,图书图片,图书简介,图书文件
北邮小学期数据库课程设计(基于django)_Course_Design_of_Database
Python Django Web典型模块开发实战_新浪微博的多端应用_编程项目案例实例详解课程教程.pdf
Python Django Web典型模块开发实战_区块链时代与Token登录_编程项目案例实例详解课程教程.pdf
Python Django Web典型模块开发实战_用Django实现支付功能_编程项目案例实例详解课程教程.pdf
_基于Docker的Django开发利器:一套高效的基于Docker的Django_3.2开发和部_DjangoOnDocker
对于需要单独添加装饰器的方法,可以使用`method_decorator`来确保装饰器能够正确处理`self`参数: ```python from django.views import View from django.utils.decorators import method_decorator class ...
Python Django Web典型模块开发实战_分析吾爱破解论坛反爬虫机制_编程项目案例实例详解课程教程.pdf
本项目 "djangotest_djangoweb_django_" 旨在为初学者提供一个实战平台,帮助他们理解和掌握 Django 的核心概念与应用。 ### 一、Django 框架基础 Django 遵循 Model-View-Template (MVT) 设计模式,这三者构成了 ...
Python Django Web典型模块开发实战_前后端分离项目上线部署到云服务器_编程项目案例实例详解课程教程.pdf
Python Django Web典型模块开发实战_违禁词自审查功能_编程项目案例实例详解课程教程.pdf
Django的核心特性包括MVC(模型-视图-控制器)架构,ORM(对象关系映射),以及内置的管理界面。其主要优势在于快速开发,安全性高,以及对多种数据库的支持。Django-1.9.12.tar.gz包含了Django的1.9.12版本,该版本...