반응형
Django, 템플릿 프로세서 프로세서
이상한 문제가 있습니다. 추가 프로세서를 사용하여 전역 쿼리를 추가하고 싶습니다. 이것이 내가 다음과 같이 한 방법입니다 .
내 앱에서 다음과 같이 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',)
설정 파일에서 Django의 기본 프로세서를 재정의하고 있습니다. 목록 을 확장 할 경우 기본 목록을 포함해야합니다.
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의 전화 (포함)입니다.
TEMPLATE_CONTEXT_PROCESSORS의 주소를 추가해야합니다. 그러나 특정 버전의 Django에 연결되는 해당 값을 코딩 코딩하는 대신 다음과 같이 프로세서를 추가 할 수 있습니다.
from django.conf import global_settings
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
"myapp.processor.foos",
)
튜플에 후행 쉼표를 포함하여 Python이 튜플로 인식하도록합니다.
Django 1.3에서 나를 위해 일한 것
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.contrib.messages.context_processors.messages",
"myapp.processor.foos", )
참고 URL : https://stackoverflow.com/questions/2246725/django-template-context-processors
반응형
'ProgramingTip' 카테고리의 다른 글
16 진수를 RGBA로 변환 (0) | 2020.12.02 |
---|---|
OS X의 디렉토리에있는 모든 파일의 파일 변경 (0) | 2020.12.02 |
RecyclerView 용 GridLayoutManager의 정사각형 레이아웃 (0) | 2020.12.02 |
URL에서 포트 번호를 제거하는 방법 (0) | 2020.12.02 |
Flutter에서 반경이있는 둥근 버튼 / 버튼 만들기 (0) | 2020.12.02 |