Django 사용자 정의 중간부품
1576 단어 django
Django 중간부품은 클래스여야 하며 클래스를 상속할 필요가 없으며 네 개의 인터페이스를 제공합니다.
1、 process_이 방법은 요청이 올 때 호출됩니다. 2、 process_view (self,request, fnc,arg,kwarg) 는 이번에 실행할 View 함수를 호출하기 전에 이 함수를 호출합니다. 3、 process_response(self,request,response)는 View 함수를 실행하고 응답을 클라이언트에게 보낼 준비를 하기 전에 실행됩니다.
4、 **process_exception(self,request,exception)**View 함수는 이상을 던질 때 이 함수를 호출합니다. 얻은 exception 파라미터는 실제 던진 이상 실례입니다.이 방법을 통해 좋은 오류 제어를 할 수 있고 우호적인 사용자 인터페이스를 제공할 수 있다.
중간부품을 활성화하려면 Django 프로필 settings에 추가해야 합니다.py의 MIDDLEWARE에서
예를 들어 요청의 단말기가 pc인지 아이폰인지 판단하기
1.우리는 앱 아래에 my 만들기middleware.py 파일:
from django.utils import deprecation
class CheckSourceMiddleware(deprecation.MiddlewareMixin):
def process_request(self, request):
from_source = request.META['HTTP_USER_AGENT']
print('from_source', from_source)
if 'iPhone' in from_source:
request.session['from_source'] = 'iphone'
else:
request.session['from_source'] = 'pc'
2.views에서.py 파일에 코드를 추가하려면 다음과 같이 하십시오.
def index(request):
from_source = request.session.get('from_source', 'unknow')
res = 'from %s' % from_source
return HttpResponse(res)
3. settings에서.py 파일의 MIDDLEWARE 배열에는 다음이 포함됩니다.
'app_name.my_middleware.CheckSourceMiddleware',
이상, 우리가 index 보기에 방문했을 때, 우리가 컴퓨터로 켰는지 아이폰으로 켰는지 알 수 있다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.