在使用Django开发web项目的时候,发现好像没有类似java中拦截器那样的配置,那么在Django中要怎么解决这个问题了?
经过一番百度后,发现如下解决方法:
原文来自:http://www.cnblogs.com/pythonxiaokang/p/6369828.html
在Django项目的app(如:datamanage)文件夹下创建一个 mymiddleware.py文件,如图:
mymiddleware.py
# !/usr/bin/env python
# -*- coding: utf-8 -*-
from django.shortcuts import HttpResponseRedirect
try:
from django.utils.deprecation import MiddlewareMixin # Django 1.10.x
except ImportError:
MiddlewareMixin = object # Django 1.4.x - Django 1.9.x
class SimpleMiddleware(MiddlewareMixin):
def process_request(self, request):
if request.path != '/login' and request.path != '/Web/CheckCode/':
if request.session.get('user', None):
pass
else:
return HttpResponseRedirect('/login')
编辑 view.py 逻辑处理,登录操作