Django 登录检查-自动重定向到登录页
Posted wcwnina
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 登录检查-自动重定向到登录页相关的知识,希望对你有一定的参考价值。
编写一个Mixin类
from django.contrib.auth.decorators import login_required from django.utils.decorators import method_decorator class LoginRequiredMixin(object): """ 登录验证:如果未登录,自动重定向到登录页面 """ @method_decorator(login_required(login_url=‘/myuser/login/‘)) # 类方法装饰器,传入login_required装饰器 def dispatch(self, request, *args, **kwargs): # 必须重写分发方法dispatch,自动识别分发给get或post方法 return super(LoginRequiredMixin, self).dispatch(request, *args, **kwargs)
类视图继承之
class UserCenInfoView(LoginRequiredMixin, View): # 注意继承顺序 def get(self, request): ... def post(self, request): ...
关于Mixin类
Mixin:在设计类的继承关系时,通常,主线都是单一继承下来的,如果需要"组合"额外的功能,通过多重继承就可以实现,这种设计通常称之为Mixin(混合)。
Mixin类一般以Mixin为后缀,使用Mixin类实现多重继承需要注意:
1)首先,它必须表示某一种辅助功能,而不是某个事物;
2)其次,它必须功能单一,如果有多个功能,那就写多个Mixin类;
3)再者,它不依赖于子类的实现;
4)最后,子类即便没有继承这个Mixin类,也照样可以工作,就是缺少了某个功能(比如飞机照样可以载客,就是不能飞了^_^)。
至此。转载请注明出处。
以上是关于Django 登录检查-自动重定向到登录页的主要内容,如果未能解决你的问题,请参考以下文章