2019-01-04

2283 단어
중간부품 문자열 가져오기 방법
  • django에서 중간부품은 하나의 유형이다. 요청이 오고 끝난 후에django는 자신의 규칙에 따라 적당한 시기에 중간부품을 집행하는 상응하는 방법이다.
  • django 프로젝트의 settings 모듈에 MIDDLEWARE 변수가 있는데 그 중 모든 요소가 중간부품이다.
  • from django.middleware.common import CommonMiddleware
    
    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',
        'wupeiqi.middleware.auth.Authentication',
    ]
    
  • 와mange.py가 같은 디렉터리에 있는 폴더wupeiqi/middleware의auth.py 파일의 Authentication 클래스 중간부품에서 다음과 같은 5가지 방법을 정의할 수 있습니다.
  • process_request(self,request)
    process_view(self, request, callback, callback_args, callback_kwargs)
    process_template_response(self,request,response)
    process_exception(self, request, exception)
    process_response(self, request, response)
    

    사용자 정의 중간부품
    1. 중간부품 클래스 만들기
    프로젝트 디렉터리 아래 m1/middleware/auth.python
    class RequestExeute(object):
          
        def process_request(self,request):
            pass
        def process_view(self, request, callback, callback_args, callback_kwargs):
            i =1
            pass
        def process_exception(self, request, exception):
            pass
          
        def process_response(self, request, response):
            return response
    

    2. 중간부품 등록
    MIDDLEWARE_CLASSES = (
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
        'm1.middleware.auth.RequestExeute',
    )
    

    3. 중간부품의 흔한 응용
  • 요청 로그
  • 사용자 로그인 인증
  • 각종 점프
  • 방화벽
  • 좋은 웹페이지 즐겨찾기