Django 让用户自动登录

希望能得到更多用户的反馈和需求,开始在社区网络中推 idcops 这个软件。idcops是采用django开发的一个用于IDC机房管理的软件。

测试地址: https://idcops.iloxp.com/

但通过看网站统计分析,虽然访问用户极少,但网站跳出率不会超过10%(这是我做个好几个网站跳出率最低的一个网站了)

从分析看出,还有好一部分用户被拦在登录认证页面。

URL: https://idcops.iloxp.com/accounts/login/

如下图:

idcops_login.jpg

所以,得找个方法让用户能够自动登录到测试的管理系统里面来。

其实也就几行代码,甚至你还可以指定特有参数来限定是否要自动登录,比如url中加参数: ?autologin=true或者 ?source=test 等等自己指定的参数,然后在代码中做判断是否满足自动登录的条件而执行。

具体代码片段如下:

    def dispatch(self, request, *args, **kwargs):
        from django.contrib.auth import authenticate, login
        user = authenticate(request, username='admin', password='admin123')
        if user is not None and not request.user.is_authenticated:
            messages.info(request, """当前为测试用户,已为您自动登录。"""
                          """登录地址:https://idcops.iloxp.com/accounts/login/"""
                          """账户: admin 密码: admin123""")
            login(request, user)
        ....

因此系统比较大,我这里是采用mixins的写法看下面处理用户基本请求mixin代码:

idcops_base_required_mixins.jpg

这样,所有未登录的用户第一次进来之后直接就登录了,登录后给用户提示信息如下:

logined.jpg

相关阅读RelatedRead

django-idcops 部署线上生成环境

Django个人博客教程-1:开发环境之编译安装python3.7

Django个人博客教程-1:开发环境

Django个人博客教程:开篇

本博启用灰色调 2020年4月4日举行全国性哀悼活动

Django博客archives归档页面查询优化

将WordPress博文迁移到django博客

2 条评论添加评论

IDC机房管理如何实现 首页的实力机房和佛山机房之前的页面切换?

回复取消回复
@大猪猪

用户信息--- 编辑用户---修改所属机房 。 关于idcops相关问题,可以添加QQ群:185964462 咨询

回复取消回复