2011-04-21 4 views
7

나는 다음과 같은 정의를 포함 태그가 :Django - 맞춤 포함 템플릿 태그 MEDIA_URL?

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.auth.context_processors.auth', 
    'django.core.context_processors.debug', 
    'django.core.context_processors.i18n', 
    'django.core.context_processors.media', 
    'context_processors.default_processors', 
    ) 

내가 work_path.html 템플릿 내에서 MEDIA_URL에 접근 할 필요가 있지만 상황에 맞는 프로세서는 적용되지 않습니다 것 같다

from django.template import Library 
from django.db.models import Count 

register = Library() 

@register.inclusion_tag('projects/work_part.html', takes_context=True) 
def project_list(context): 
    return {'projects':context['projects']} 

내 설정

는 다음과 같이를 맞춤 템플릿

템플릿 태그 내에서 MEDIA_URL에 액세스하려면 어떻게해야합니까? 이 게시물을 보았습니다 : Access STATIC_URL from within a custom inclusion template tag하지만 STATIC_URL을 사용하지 않고 있는데,로드해야하는 다른 태그가 있습니까? tempatetag get_media_prefix 태그가 "부하 미디어"를 찾고 그 우리의 사람들을 위해 정적에 {% get_media_prefix %}

+0

링크 된 스레드에 대한 첫 번째 답변에서 언급했듯이 템플릿 태그 코드에 MEDIA_URL을 가져 와서 템플릿에 전달하지 않는 이유는 무엇입니까? – arie

답변

4

당신은 (STATIC_URL에서와 같이) 동일한 기능을 수행 할 수 있습니다 ...

{% load static %} 
... 
<img class="img" src="{% get_media_prefix %}{{ obj.image }}" alt="{{ obj.name }}" /> 
+0

아, 나는 바보 같은 느낌이 들지만, 왜 그렇게 생각하지 않았는지 모르겠다. 감사! – Hanpan

+1

태그가 존재하지 않아'TemplateSyntaxError'가 생기면 user1653114의 대답을보십시오 : http://stackoverflow.com/a/12307683/400691 – meshy

0

또는 템플릿 태그를 무시하고 바로 변수 MEDIA_URL을 사용할 수 있습니다. settings.py의 모든 변수는 HTML 템플리트에서 액세스 할 수 있습니다.

<img class="img" src="{{ MEDIA_URL }}{{ obj.image }}" alt="{{ obj.name }}" />