django 상하문 프로세서, 사용자 정의 상하문 프로세서

2425 단어 django
컨텍스트 프로세서
컨텍스트 프로세서는 전역 템플릿에서 사용할 수 있는 데이터를 되돌려줍니다.예를 들어 로그인한 사용자 정보는 많은 페이지에서 사용해야 한다. 그러면 우리는 상하문 프로세서에 놓을 수 있고 모든 보기 함수에서 이 대상을 되돌릴 필요가 없다.
settings에서.TEMPLATES.OPTIONS.context_프로세스 ors에는 내장된 상하문 프로세서가 많이 있습니다.이러한 컨텍스트 프로세서의 역할은 다음과 같습니다.
  • django.template.context_processors.debug: debug 1개 및 sql 추가queries 변수.템플릿에서 그를 통해 일부 데이터베이스 조회를 볼 수 있다.
  • django.template.context_processors.request: Request 변수를 추가합니다.이 Request 변수는 바로 보기 함수의 첫 번째 인자입니다.
  • django.contrib.auth.context_processors.auth: Django에 내장된 사용자 시스템이 있습니다. 이 상하문 프로세서는user 대상을 추가합니다.
  • django.contrib.messages.context_processors.메시지: 메시지 변수를 추가합니다.
  • django.template.context_processors.미디어: 템플릿에서 MEDIA 읽기 가능URL.예를 들어 템플릿에 업로드된 파일을 사용하려면 {{MEDIA URL}}을 직접 템플릿에 사용하여 URL을 연결합니다.기본적으로 settings가 내장되어 있지 않습니다.py에서 수동으로 추가해야 합니다
  • django.template.context_processors.static: 템플릿에서 STATIC 사용 가능URL.템플릿에서 {STATIC URL}을 직접 사용합니다.
  • django.template.context_processors.csrf: 템플릿에서 csrf 사용 가능token 변수로 csrf token을 생성합니다.

  • 컨텍스트 프로세서를 사용자화하려면 다음과 같이 하십시오.
    때때로 우리는 자신의 데이터를 되돌려 주고 싶어 한다.그러면 이때 우리는 상하문 프로세서를 사용자 정의할 수 있다.컨텍스트 프로세서를 사용자화하려면 다음과 같이 하십시오.
  • 이 상하문 프로세서가 어느 앱에 속하는지에 따라 이 앱에 상하문 프로세서를 저장하기 위한 파일을 만들 수 있습니다.예를 들어 contextprocessors.py.또는 모든 상하문 프로세서를 저장할 수 있는 파이톤 패키지를 만들 수도 있습니다.
  • 정의된 상하문 프로세서 파일에서 함수를 정의합니다. 이 함수는 Request 인자만 있습니다.이 함수에서 자신의 논리를 처리한 후 템플릿에 되돌려야 할 데이터를 사전 형식으로 되돌려줍니다.데이터를 되돌릴 필요가 없다면 빈 사전을 되돌려야 합니다:
     def frontuser(request):
       userid = request.session.get("userid")
       userModel = models.FrontendUser.objects.filter(pk=userid).first()   
       if userModel:     
           return {'frontuser':userModel}   
       else:     
           return {}
  •                {{frontuser}}
  • 좋은 웹페이지 즐겨찾기