django - 중간부품(가로막기)

1284 단어
django – 중간부품 (차단)
1. 프로젝트 아래에 utils 디렉터리를 새로 만들고 이 디렉터리에 새 파일__init__.py,
UserAuthMiddlewre.py 파일
2.UserAuthMiddleware.py 파일의 쓰기 코드는 다음과 같습니다.
from django.http import HttpResponseRedirect
from django.utils.deprecation import MiddlewareMixin
#         uauth(app) models.py   Users
from uauth.models import Users


class AuthMiddleware(MiddlewareMixin):

    def process_request(self, request):
        #                  return      
        if request.path == '/uauth/login/' or
         request.path == '/uauth/regist/':
            return None

        #  cookies  ticket
        ticket = request.COOKIES.get('ticket')
        #   cookies    ticket
        if not ticket:
            return HttpResponseRedirect('/uauth/login/')

        #     Users  ticket         
        users = Users.ojects.filter(u_ticket=ticket)
        #            
        if not users:
            return HttpResponseRedirect('/uauth/login/')
        #        request.user 
        request.user = users[0]

3. 프로젝트 아래settings.py 파일에 생성된 중간부품을 추가하려면 다음과 같이 하십시오.
MIDDLEWARE=[
'utils.UserAuthMiddleware.AuthMiddleware'
]

4. 방문할 때 위에서 지정한 경로로 이동하는 것을 차단할 수 있습니다/uauth/login/

좋은 웹페이지 즐겨찾기