1,在主目录(项目目录)下新建中间件middleware.py文件

  写入

 from django.utils.deprecation import MiddlewareMixin
from django.http import HttpResponseRedirect
import json '''请求数据的页面'''
request_data_page = [
'/QQ/index/',
'/QQ/verifyLogin/',
'/QQ/login/',
'/QQ/register/',
]
class match_unnecessary_path(MiddlewareMixin):
'''路径信息'''
path_params = ''
json_params = '' def process_request(self,request):
'''
匹配多余路径,发送至vue进行处理
当存在session时,访问vue内部组件时通过django无法访问
截取访问的路径,储存之request中,通过响应发送给vue
'''
path = request.path
Session = request.session.get('username')
isRequestData = path not in request_data_page
Redirect = Session and isRequestData
'''
非请求数据的页面就重定向至主页,vue页面会向请求verifyLogin请求数据,所以重定向之主页,在vue中跳转至对应的组件页面
请求数据被重定向,会返回一个HTML二进制页面数据,所以要排除在外
'''
if Redirect :
self.path_params = request.path
# print(self.path_params, 'request-23') '''重定向至主页'''
return HttpResponseRedirect('/QQ/index') def process_response(self,request,response):
'''当有session值,请求数据时将请求的路径返回vue'''
path = request.path
print(self.path_params,'response-29')
'''当包含session时,请求的页面是其他页面,将路径上传至vue进行处理'''
if path == '/QQ/verifyLogin/' and self.path_params:
'''获取上传的数据'''
self.json_params = response.content.decode()
'''修改数据,将路径添加到数据中一起上传'''
dict_content = json.loads(self.json_params)
dict_content['request_path'] = self.path_params
json_content =(json.dumps(dict_content)).encode()
response.content = json_content return response class change_request_middle(MiddlewareMixin):
def process_request(self,request):
# pass
#陷入死循环
# if not request.session.get('username'):
'''不包含session时,访问内部组件,重定向之登录界面'''
path = request.path
noSession = not request.session.get('username')
isRequestData = path not in request_data_page
Redirect = noSession and isRequestData
'''
非请求数据的页面就重定向至主页,vue页面会向请求verifyLogin请求数据,所以重定向之主页,在vue中跳转至对应的组件页面
请求数据被重定向,会返回一个HTML二进制页面数据,所以要排除在外
'''
if Redirect:
#重定向路径,修改路径
return HttpResponseRedirect('/QQ/index')

中间件1

2,在settings.py中注册

  'middleware.类名'

3,在vue中接收发送过来的数据

django 上传路径至vue处理组件加载的更多相关文章

  1. Ajax的原理及Django上传组件

    title: Ajax的原理及Django上传组件 tags: Django --- Ajax的原理及Django上传组件 Ajax的原理 ajax 是异步JavaScript和xml ajax就是向 ...

  2. 实现简单的django上传文件

    本文用django实现上传文件并保存到指定路径下,没有使用forms和models,步骤如下: 1.在模板中使用form表单,因为这个表单使用于上传文件的,所以method属性必须设置为post,而且 ...

  3. kindeditor修改图片上传路径-使用webapi上传图片到图片服务器

    kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 在这里我着重介绍一些使用kindeditor修改图片上传路径并通过webapi上传图片到图片服务器的方案. 因为我使用的 ...

  4. kindeditor扩展粘贴图片功能&修改图片上传路径并通过webapi上传图片到图片服务器

    前言 kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. 本篇博文需要解决的问题有两个: kindeditor扩展粘贴图片功 ...

  5. kindeditor扩展粘贴截图功能&修改图片上传路径并通过webapi上传图片到图片服务器

    前言 kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. 本篇博文需要解决的问题有两个: kindeditor扩展粘贴图片功 ...

  6. Django上传excel表格并将数据写入数据库

    前言: 最近公司领导要统计技术部门在各个业务条线花费的工时百分比,而 jira 当前的 Tempo 插件只能统计个人工时.于是就写了个报表工具,将 jira 中导出的个人工时excel表格 导入数据库 ...

  7. 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径

    本文是接上一篇博客,如果有疑问请先阅读上一篇:百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程 默认UEditor上传图片的路径是,编辑器包目录里面的net目录下 下面就演示如 ...

  8. (转)django上传文件

    本文转自:http://www.cnblogs.com/linjiqin/p/3731751.html 另:  本文对原文做了适当修改 更为详细的介绍可以参考官方文档. emplate html(模板 ...

  9. django上传文件

    template html(模板文件): <form enctype="multipart/form-data" method="POST" action ...

随机推荐

  1. jdbc结合commons-dbutils-1.6.jar做素材数据处理的例子

    前两个 insertTitle,insertOpening 是刚开始做的针对单一素材数据解析及写入的方法,后面一个 insertMaterial 是后期封装的一个可处理各种素材导入的方法,main方法 ...

  2. 2.1 Go语言基础之运算符

    运算符用于在程序运行时执行数学或逻辑运算. 一.运算符 Go 语言内置的运算符有: 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 位运算符 5. 赋值运算符 1.1 算数运算符 运算符 ...

  3. Python异步IO之协程(二):使用asyncio的不同方法实现协程

    引言:在上一章中我们介绍了从yield from的来源到async的使用,并在最后以asyncio.wait()方法实现协程,下面我们通过不同控制结构来实现协程,让我们一起来看看他们的不同作用吧- 在 ...

  4. MATLAB学习(四)线性方程求解,多项式运算,函数局部最优解

    >> A=[2 1 3;1 3 2];B=[5;10] B = 5 10 >> X=lsqnonneg(A,B) X = 0 2.8571 0.7143 >> A\ ...

  5. 【JVM学习笔记】Class.forName方法学习

    三个参数的版本的源代码如下 doc文档翻译 使用给定的类加载器(即第3个参数)返回与具有给定字符串名称(第1个参数)的类或接口关联的Class对象.给定类或接口的完全限定名称(以getName返回的相 ...

  6. UUID相同导致的网络连接问题

    目录 场景 思路 解决过程 提升虚拟机配置 直连交换机 最终解决方案 总结 场景 有同事从公司寄了一台服务器到现场,用来安装数据库.缓存等组件供开发使用.到了之后,连接电源.网线,设置IP,用vSph ...

  7. Guava源码阅读-base-Strings

    package com.google.common.base; 今天阅读的是Srings类,这在程序中经常使用. 比如判断字符串是否为空,我们在之前用jdk方法判断是会用下面这个判断语句. if( i ...

  8. HDU1814(Peaceful Commission) 【2-SAT DFS暴力求最小字典序的模板】

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1814 题意:给出一个数n,代表有n个党派,每个党派要求派出其中一个人去参加会议,且只能派出一人.给出m ...

  9. [转帖]瀚高数据库创建uuid的方法

    使用syssso登录,并执行下列语句 highgo=> select set_secure_level('off'); set_secure_level -------------------- ...

  10. Less学习(1)

    写在开头的话: 月余前被问起会不会Less,当时就有想学这个css框架的念头,而在昨天,在前端乱炖上看到一篇LessCss的开篇介绍,忽然就有了一股立马去学的冲动,回到家后找了几篇文章看了下,初感觉比 ...