当前位置: 首页 > news >正文

十大免费excel网站重庆建设工程信息网加密狗无法登陆

十大免费excel网站,重庆建设工程信息网加密狗无法登陆,网站建设需求报价明细,手机版制作app软件接着上期代码框架,6个主要功能基本实现,剩下的就是细节点的完善优化了。 首先增加URL拦截器,你不会希望没有登录用户就可以进入用户主页各种功能的,所以增加URL拦截器可以解决这个问题。 Django框架本身也有URL拦截器&#xff0…

接着上期代码框架,6个主要功能基本实现,剩下的就是细节点的完善优化了。

首先增加URL拦截器,你不会希望没有登录用户就可以进入用户主页各种功能的,所以增加URL拦截器可以解决这个问题。

Django框架本身也有URL拦截器,但是因为本系统用户模型跟Django框架本身用户模型不匹配,所以没有用,只好自定义URL拦截器。

第一步:修改项目配置文件

./mysite/mysite/settings.py:

自定义拦截器中间件放置位置很重要,千万不能放错了,不然无法生效。

'''将你的自定义拦截器中间件放置在内置的 SessionMiddleware和 AuthenticationMiddleware 之后,并根据你的实际情况调整其他中间件的顺序。这样,user 属性应该会被正确添加到请求对象中,从而解决 'WSGIRequest' object has no attribute 'user' 错误。
'''
MIDDLEWARE = ['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',# 自定义拦截器'study_system.custom_middleware.CustomURLInterceptorMiddleware','study_system.custom_middleware.CustomURLInterceptorMiddleware2',
]

第二步:新增应用自定义URL拦截器

./mysite/study_system/custom_middleware.py:

import refrom django.shortcuts import redirect
from django.utils.deprecation import MiddlewareMixin
from django.urls import reverse"""自定义中间件中间件是一个面向对象的类,有五个方法1、Request预处理函数:process_request(self, request)运行时间:在请求后,在process_view 之前,在执行views之前2、View预处理函数: process_view(self, request, callback, callback_args,callback_kwargs)运行时间:在process_request之后,在views之前3、Template模版渲染函数:process_template_response()运行时间:默认不执行,只有在视图函数的返回结果对象中有render方法才会执行,并把对象的render方法的返回值返回给用户(注意不返回视图函数的return的结果了,而是返回视图函数 return值(对象)中rende方法的结果)4、Exception后处理函数:process_exception(self, request, exception)运行时间:这个方法只有在 request 处理过程中出了问题并且view函数抛出了一个未捕获的异常时才会被调用。这个钩子可以用来发送错误通知,将现场相关信息输出到日志文件,或者甚至尝试从错误中自动恢复。5、Response后处理函数:process_response(self, request, response)运行时间:这个方法的调用时机在 Django 执行 view 函数并生成 response 之后。该处理器能修改response 的内容;一个常见的用途是内容压缩,如gzip所请求的HTML页面
"""'''
通过中间件(Middleware)来实现自定义的 URL 拦截器。
中间件是 Django 处理请求和响应的组件,可以对请求进行处理、拦截和修改# 中间件使用方法:
#   方法1、
#       --> 首先需要自定义类继承MiddlewareMixin类;然后重写里面的5方法
#       --> setting.py中配置自定义中间件类'''# 定义需要登录状态的匹配规则,| 分隔要匹配的多个url,从左到右匹配,有匹配就返回匹配值,否则返回None。
login_pattern = r'^(/study_system/home/?$|/study_system/task/|/study_system/item/|/study_system/user/)'class CustomURLInterceptorMiddleware(MiddlewareMixin):def process_request(self, request):print('---------------->1')"""Request预处理函数,重写方法"""# 我们可以通过request对象获取里请求里面的相关值,request对象其实就是view function函数的request# 相关获取例如:request.META、request.META['REMOTE_HOST']、request.pathprint(request.META['REMOTE_ADDR'])  # 获取请求的远程地址path = request.path  # 拿到当前的请求路径# 如果 当前的请求路径h 的开始位置能够找到这个正则样式的任意个匹配,就返回一个相应的匹配对象。# 如果不匹配,就返回Nonematch = re.search(login_pattern, path)if match:  # 匹配成功print(request.user)  # AnoymousUser:即匿名对象,未登录# 如果在,判断请求user认证是否通过,不通过的话我们就直接重定向到登录界面,类似做了一层拦截访问# if not request.user.is_authenticated:if not request.session.get('username'):return redirect(reverse('study_system:login'))class CustomURLInterceptorMiddleware2(MiddlewareMixin):# 重写方法def process_request(self, request):print('------------------->2')


第三步:运行测试查看效果

-------------------------------------------------end -------------------------------------------------

http://www.yayakq.cn/news/221914/

相关文章:

  • 网站织梦用字体矢量图做图标中邮保险网站
  • 网站seo 优化网站开发的收获体会
  • 海淘一号 网站 怎么做的免费推广引流平台app
  • 株洲企业关键词优化最新报价郑州网站优化培训
  • dw做网站需要数据库么后台网站手机版视频怎么做
  • 经典网站模板网站访客跟踪
  • 青岛seo排名收费seo 网站树
  • 企业网站seo报价购物导购网站开发
  • 黄冈建设信息网站网站架构变迁
  • 网站制作哪家好网站费用单
  • php ajax网站开发典型实例pdf扶贫网站建设优势
  • 工信部网站备案系统登录白沟做网站
  • dns网站建设广东省最新新闻
  • 网站建设与管理升学就业方向温州网站排名团队
  • 怎么做网上直营店网站上海市开办企业一窗网上服务
  • 常德建设局官方网站内蒙古建设工程信息网
  • 山东大汉建设机械有限公司网站免费网站建设排行
  • 网上做视频赚钱的网站有哪些网站开发工具 售价
  • 电子科技网站app介绍模板
  • 包头网站优化wordpress密码保护
  • 手机网站自适应个人视频网站应该怎么做
  • 网站tdk标签网站建设 投标
  • 付费做SPaSS统计分析的网站专业网站建设套餐
  • 陕西有没有做网站普查公司百度指数查询手机版app
  • 罗湖中小网站建设建立网站的链接结构有哪几种形式?
  • 网站建设费计什么科目网站开发制作费入会计科目
  • 网站建设价格对比分析在网上做企业网站怎么做
  • 网站如何做注册类 cpa电子商务网站的特色
  • 如何建造一个网站网站怎样维护
  • 健康网站模板网站如何做QQ登录