당신이 정말로 모든 뷰에서 변수를 원한다면, 사용자 정의 템플릿 상황에 맞는 프로세서는 아마도 최선의 방법입니다. 당신은 단지 에서보기의 일부를 변수를 원하는 경우
https://docs.djangoproject.com/en/dev/ref/templates/api/#subclassing-context-requestcontext
, 당신은 그 전망이 같은 공통 변수를 채우는 공통 기능, 뭔가를 호출 할 수 있습니다 :
def some_view(request):
params = _common_params(request)
params.update({
# params specific to .some_view
})
return render_to_response('path/to/template, params)
다음과 같이 사용자 정의 데코레이터를 만듭니다.
from functools import wraps
def render_with_params():
def _inner(view_method):
def _decorator(request, *args, **kwargs):
params = _common_params(request)
(template_path, view_params) = view_method(request, *args, **kwargs)
params.update(view_params)
return render_to_response(template_path, params, context_instance=RequestContext(request))
return wraps(view_method)(_decorator)
return _inner
@render_with_params()
def some_view(request):
params = { ... }
return ('path/to/template', params)
django 템플릿 컨텍스트 프로세서를 살펴 보았습니까? 아마도 가장 짧은 대답은 자신 만의 컨텍스트 프로세서를 만들어서 설정 파일의'TEMPLATE_CONTEXT_PROCESSORS'에 넣는 것입니다. 대신 내 의견이 답이 될까요? REF : https://docs.djangoproject.com/en/dev/ref/templates/api/#subclassing-context-requestcontext – Yeo
안녕하세요 여보, 나는 그것을 보지 않았습니다. 포함 태그를 사용하고 inclusion 태그를 base.html에 넣음으로써이 목표를 달성 할 수 있습니까? –
나는 주된 질문에 기초하여, 템플릿의 변수를'context' 라 부른다. 'include' 태그는 다른 일을하지만 물론'{% include "name_snippet.html"with person = "Jane"greeting = "Hello"%}'와 같이 포함 된 템플릿 내에서 컨텍스트를 전달할 수 있습니다. 하지만 그래도 상황이 어딘가에 남아 있어야합니다 ... https://docs.djangoproject.com/en/dev/ref/templates/builtins/#include – Yeo