본문 바로가기
파이썬

파이썬 Django, 템플릿 컨텍스트 프로세서

by º기록 2020. 12. 19.
반응형

이상한 문제가 있습니다. 컨텍스트 프로세서를 사용하여 전역 쿼리를 추가하고 싶습니다.


내 앱에서 다음과 같이 processor.py를 만들었습니다.

from myproject.myapp.models import Foo

def foos(request):
    return {'foos': Foo.objects.all()}

그리고 내 setting.py 끝에 이것을 추가했습니다.

TEMPLATE_CONTEXT_PROCESSORS = ('myapp.processor.foos',)

마지막으로 나는 다음과 같이 내 견해를 전달합니다.

def index_view(request):

    return render_to_response('index.html', {}, context_instance=RequestContext(request))

내 index.html 템플릿에서 :

<select id="select_foo">
{% for foo in foos %}
    <option value="/{{ foo.slug }}">{{ foo.name }}</option>
{% endfor %}
</select>

그리고 마지막으로 내 URL :

(r'^$', 'myapp.views.index_view'),

내 foos는 문제없이 표시되지만 내 media_url 및 기타 컨텍스트는 사라졌습니다. 무엇이 문제 일 수 있습니까?

 

해결 방법

 

이것을 지정할 때 :

TEMPLATE_CONTEXT_PROCESSORS = ('myapp.processor.foos',)


TEMPLATE_CONTEXT_PROCESSORS = (
    "django.core.context_processors.auth",
    "django.core.context_processors.debug",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
    "myapp.processor.foos",
)

위의 설정은 django 1.1의 기본값 (프로세서 포함)입니다.

 

참조 페이지 https://stackoverflow.com/questions/2246725

 

 

반응형

댓글