(2018-05-14. 파이썬 제로에서 원까지) 6, (Django) Django 고급1.5.2미디엄 웨어

1408 단어
중간부품
  • 는 경량급, 하부 플러그인 시스템으로 Django의 요청과 응답 처리 과정에 개입하여 Django의 입력이나 출력을 수정할 수 있다
  • 활성화: Django 구성 파일에 추가된 MIDDLEWARECLASSES 모듈
  • 모든 중간부품 구성 요소는 하나의 독립된 Python 클래스로 다음 방법 중 하나 또는 여러 개를 정의할 수 있습니다
  • _init _:매개 변수가 필요 없습니다. 서버가 첫 번째 요청에 응답할 때 현재 중간부품을 사용할지 여부를 확인하는 데 사용합니다.
  • process_request(request): 보기를 실행하기 전에 호출되고 요청마다 호출되며 None 또는 Http Response 대상을 되돌려줍니다
  • process_view(request,view func,view args,view kwargs): 보기를 호출하기 전에 호출되고 요청마다 호출되며 None 또는 HttpResponse 대상
  • 으로 돌아갑니다.
  • process_template_response(request,response): 보기가 실행된 후에 호출되고 요청마다 호출되며render 방법을 실현한 응답 대상
  • 을 되돌려줍니다.
  • process_response(request,response): 모든 응답이 브라우저로 되돌아오기 전에 호출되고, 요청마다 호출되며, Http Response 대상 프로세스로 되돌아오기exception(request,response,exception): 보기가 이상을 던졌을 때 호출하고 요청마다 호출하며 HttpResponse 대상을 되돌려줍니다
  • 중간부품을 사용하면 전체 처리 과정을 방해할 수 있으며 매번 요청할 때마다 중간부품을 실행하는 이 방법의 예: 사용자 정의 이상 처리
  • 와settings.py 동급 디렉터리에서 myexception을 만듭니다.py 파일, 클래스 My Exception 정의, 프로세스exception 방법
  • from django.http import HttpResponse
    class MyException():
        def process_exception(request,response, exception):
            return HttpResponse(exception.message)
    
  • 클래스 MyException을 settings에 등록합니다.py 중간부품 중
  • MIDDLEWARE_CLASSES = (
        'test1.myexception.MyException',
        ...
    )
    
  • 보기를 정의하고 이상 정보가 발생하면 사용자 정의 이상 처리
  • 를 실행합니다

    좋은 웹페이지 즐겨찾기