python - django 里自定义的 login 方法,如何使用 login_required()
PHP中文网
PHP中文网 2017-04-18 10:28:38
[Python讨论组]

根据 官方文档 写了个自定义的 login 方法如下:

from django.contrib.auth import authenticate, login

def my_login(request):
    username = request.POST['username']
    password = request.POST['password']
    user = authenticate(username=username, password=password)
    if user is not None:
        login(request, user)
        # Redirect to a success page.
        ...
    else:
        # Return an 'invalid login' error message.
        ...

那么,在如何配合 @login_required 装饰器通过我自定义的 my_login() 方法进行登录呢?

PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
ringa_lee

在其他方法上加@login_required,request.user没有就跳转到登录页
你的登录post方法调用my_login不就行了

大家讲道理

装饰器是用来放在其他view函数头,来截断请求判断当前请求的是否是登录的,若不加便不会有这个判断。
而你定义的登录view函数,是一个用来使用户登录的view函数,在这个函数里把用户的属性绑定在了request 这个对象上,作为用户登录标志。

纯手机打字,望有帮助!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号