는 경량급, 하부 플러그인 시스템으로 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)