关于dispatch的一些疑问

来源:8-7 相关课程推荐

慕九州2288205

2018-04-13

http://img.mukewang.com/szimg/5ad0054300011cea06550257.jpg

我发现as_view方法会调用一个叫dispatch的方法


http://img.mukewang.com/szimg/5ad005530001221509010221.jpg

这个dispatch好像是判断request的方法是否存在或者被允许的方法。

http://img.mukewang.com/szimg/5ad0045a00013f3e08520142.jpg

我们这样继承这个类,是否等于重构了dispatch方法,效果等于就是在运行dispatch方法的时候加上一个验证登录的装饰器,原本的dispatch方法就没用了。

这样是否会影响我们项目的运行?还是本来原本的dispatch就是个可有可无的方法,设计来就是为了重构的?麻烦老师有空帮我解答一下这个问题。谢谢


写回答

1回答

zznq

2018-05-02

先说一下我自己理解的思路:

验证登陆的装饰器只能在函数或者方法上使用,所以老师新创建了LoginRequiredMixin类,并在dispatch方法上使用了验证登陆的装饰器;


回答你的问题:

我们这样继承这个类,是否等于重构了dispatch方法?原本的dispatch方法就没用了

当然有用

return super(LoginRequiredMixin, self).dispatch(request, *args, **kwargs)

这个就是返回原来的dispatch方法

1
2
慕九州2288205
回复
zznq
谢谢,我之前对super函数和装饰器理解有问题。
2018-05-02
共2条回复

Python3.6+django+xadmin,打造在线教育平台

【毕设】Python 2.7到3.6 完美适配,Django升级2.0

3677 学习 · 4038 问题

查看课程