您的当前位置:首页正文

django配置过滤器

来源:华拓网

为什么需要过滤器?比如用户没有登录是发不了评论的,但是在没有配置过滤器时,用户只需要知道发表评论的地址,就可以进入这个界面。所以需要加一个地址过滤器,判断是否是用户登录了,没有登录时,如果输入的不是我们过滤掉的地址就让它回到首页,不允许访问。
具体配置:

    1. 在子项目新建一个mymiddleware.py的文件
    • 代码:
from django.shortcuts import HttpResponseRedirect

try:
    from django.utils.deprecation import MiddlewareMixin
except ImportError:
    MiddlewareMixin=object

class SimpleMiddleware(MiddlewareMixin):
    def process_request(self,request):
        if request.path!='/file/index/' and \
                request.path!='/file/login/' and \
                request.path!='/file/find/' and \
                request.path!='/file/signin/' and \
                request.path!='/file/logout/' and \
                request.path!='/file/addUser/':
            # if request.session['id']!=None: 这么写是错的,因为刚开始登录时是没有id这个session的
            if request.session.get('id',None)!=None: #所以需要在这里设置默认值
                pass
            else:
                return HttpResponseRedirect('/file/index')
配置
    1. 在settings.py配置

      'file.mymiddleware.SimpleMiddleware', #配置登录访问的过滤器