王~~~ 2022-05-15 23:01 采纳率: 66.7%
浏览 21
已结题

中间件登录判断,有代码错了,改不对有看出来的么


# 自定义中间件类(执行登录判断)
from django.shortcuts import redirect
from django.urls import reverse

import re

# (object)
class ShopMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response
        # One-time configuration and initialization.
        print("ShopMiddleware")

    def __call__(self, request):

        # # 获取当前请求路径
        path = request.path
        # print("mycall..."+path)
        print("url:",path)

        # 后台请求路由判断'/myadmin/verify'
        # 定义网站后台不用登录也可访问的路由url
        urllist = ['/myadmin/login','/myadmin/logout','/myadmin/dologin']
        # 判断当前请求是否是访问网站后台,并且path不在urllist中
        if re.match(r'^/myadmin',path) and (path not in urllist):
            # 判断当前用户是否没有登录
            if 'adminuser' not in request.session:
                # 执行登录界面跳转
                return redirect(reverse("myadmin_login"))
                # return redirect(reverse("web_index"))
                pass

        # 请求继续执行下去
        response = self.get_response(request)
        # Code to be executed for each request/response after
        # the view is called.
        return response

红色部分应该是没有生效,我改不过来了?有知道的吗

img

  • 写回答

1条回答 默认 最新

  • qq_34114690 2022-05-22 19:30
    关注

    将urllist = ['/myadmin/login','/myadmin/logout','/myadmin/dologin']
    改为urllist = ['/myadmin/login/','/myadmin/logout/','/myadmin/dologin/']
    试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 已采纳回答 3月21日
  • 修改了问题 5月15日
  • 创建了问题 5月15日

悬赏问题

  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题