1
장고 테스트 프로젝트에 많은 컨텍스트 프로세서를 추가하여 추가하는 것이 좋을 것이라고 생각합니다.django 컨텍스트 프로세서 - 하나의 함수에서 모든 것을 반환하는 방법?
하지만 너무 많아서 각 컨텍스트 프로세서가 "호출"이고 각 컨텍스트 프로세서가 테스트 프로젝트 속도를 늦출 것이라고 들었습니다. 이것은 사실입니다, b/c 제 테스트는 이제 정말 느립니다.
관련 컨텍스트 프로세서를 여러 개 그룹으로 묶어 한 통화에 대한 호출을 상당 부분 없앨 수 있다고 조언했습니다.
하지만 어떻게해야할지 모르겠습니다.
하나의 사전에서 모든 함수를 반환하고 템플릿에 필요한 값을 표시하려면 어떻게해야합니까? 다음은
....
def get_subscription_price_free_user(request):
return {'subscription_price_free_user': settings.SUBSCRIPTION_PRICE_FREE}
def get_subscription_price_03Month_user(request):
return {'subscription_price_03Month_user':
settings.SUBSCRIPTION_PRICE_03MONTHS}
def get_subscription_price_06Month_user(request):
return {'subscription_price_06Month_user':
settings.SUBSCRIPTION_PRICE_06MONTHS}
def get_subscription_price_12Month_user(request):
return {'subscription_price_12Month_user':
settings.SUBSCRIPTION_PRICE_12MONTHS}
def get_subscription_price_default(request):
return {'subscription_price_default': settings.SUBSCRIPTION_PRICE_DEFAULT}
....
: 여기
SUBSCRIPTION_PRICE_FREE = 0
SUBSCRIPTION_PRICE_03MONTHS = 40
SUBSCRIPTION_PRICE_06MONTHS = 60
SUBSCRIPTION_PRICE_12MONTHS = 99
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
....
'globalx.core.context_processors.get_subscription_price_free_user',
'globalx.core.context_processors.get_subscription_price_03Month_user',
'globalx.core.context_processors.get_subscription_price_06Month_user',
'globalx.core.context_processors.get_subscription_price_12Month_user',
'globalx.core.context_processors.get_subscription_price_default',
....
}
내 context_processors.py 파일의 섹션 : 내가 구독 가격 & 상황에 맞는 프로세서를 선언 할 경우 다음
내 common.py 파일입니다 템플릿에 값을 표시하는 방법 :
{{ subscription_price_free_user }}
{{ subscription_price_03Month_user }}
{{ subscription_price_06Month_user }}
{{ subscription_price_12Month_user }}
{{ subscription_price_default }}