用户登陆装饰器和页面跳转(包含mixin的使用)

Posted itheone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户登陆装饰器和页面跳转(包含mixin的使用)相关的知识,希望对你有一定的参考价值。

  • 用login_required装饰器来辨别用户是否登陆,如果没有登陆,则需要进行登录才能继续访问当前页面(有些页面是需要用户登陆后才可以访问);如果已经登陆,则可以继续访问。
  • 首先配置
  • 技术图片
  • 如果用户没有登陆,login_required装饰器会默认一个地址进行跳转,所以要在settings中进行配置需要跳转的页面:
  • 技术图片
  • 在user.views中配置:

  • 技术图片

    若检查到没有登陆让用户登陆默认链接时,此时登陆页面链接为技术图片,上图中的get里‘next‘指的就是登陆页面里next对应的页面,后边的技术图片则是为若链接中没有next对应页面的情况,将商品主页面设为跳转页面。

  • 在user.urls中配置:(将需要登陆后才可以查看的所有页面的url设置)
  • 技术图片
  • 上边说到要在所有页面进行配置url,这是不方便的,所以我们用到mixin,先来个介绍:

  • 技术图片
  • 要在项目的通用文件(在项目中新建package,取名为utils)里建立mixin文件,进行配置:

    技术图片 

  •  

     在user.views中配置:

  • 技术图片

     然后在所有需要进行登录才能查看的页面view类进行继承操作:

  • 技术图片

     

     

以上是关于用户登陆装饰器和页面跳转(包含mixin的使用)的主要内容,如果未能解决你的问题,请参考以下文章

Python:使用装饰器v/s mixins? [关闭]

使用Django自带的登录访问限制login_required

$router.push跳转到登陆页,会再次触发当前页的请求?

web项目中,限制只能打开登陆页面

Django中 @login_required用法简介

结对-航空购票系统-最终程序