zoukankan      html  css  js  c++  java
  • Django如何让未登录的用户自动跳转至登录页

    有多种方法可以实现:

    使用Django自带的用户认证

    from django.contrib.auth.decorators import login_required
    @login_required
    def homepage(request):
        pass

    这样子使用即可。

    使用middleware

    class CustomAuthMiddleware(object):
    def process_view(self, request, view_func, view_args, view_kwargs):
        if request.path.startswith('/no-auth'):
            return None
        if request.path.startswith('/need-auth'):
            return redirect('/no-auth/login/')

    然后把自定义的middleware添加到settings.py中的MIDDLEWARE_CLASSES最后。

    更加自由的,使用自己的修饰器来写。

    def user_required(func):
    @functools.wraps(func)
    def first_wrapped(*args, **kwargs):
        auth_user_done_by_yourself(*args, **kwargs)  # 自定义认证方式
        return func(*args, **kwargs)
    return first_wrapped
  • 相关阅读:
    浏览器
    背景图片设置
    用CSS画平行四边形
    git常用操作
    函数Function
    Object类型的创建和访问
    执行环境及作用域
    传值和传引用
    String类型
    HTML< legend >标签
  • 原文地址:https://www.cnblogs.com/zongfa/p/7704652.html
Copyright © 2011-2022 走看看