2013-11-14 1 views
1

나는 정말 바보 같은 일을하려고한다. 장고 템플릿 (Django 1.5 사용)에 몇 가지 설정 변수를 보여준다. 그래서, 내가하려고하면이 :왜 사용자 정의 설정을 장고 템플릿의 변수로 포함시킬 수 없습니까?

<p>Timezone: {{ TIME_ZONE }}</p> 

내 설정 파일에 정의 된 시간대를 얻을. 여태까지는 그런대로 잘됐다.

FOO = 'bar' 

을 시도 :

하지만 지금, 나는이 새로운 설정을 정의 가정 해 봅시다

<p>Foo: {{ FOO }}</p> 

내가 변수의 값을 볼 수 없습니다. 왜?

뷰에서 템플릿에 변수를 전달할 수 있다는 것을 알고 있지만 프로젝트의 이름과 설명을 한 곳에서 정의하고 템플릿에 표시하려면 어떻게해야합니까? 이것은 내가하고 싶은 간단한 작업 중 하나입니다.

이런 종류의 문제는 내가 제대로 일을하지 않는다는 것을 의미합니다. (장고가 어떻게해야한다고 생각하는지 제대로 말하고 싶습니다.) 그러나 나는 왜 그런지 모릅니다.

답변

4

django.core.context_processors.tz 컨텍스트 프로세서가 설정에서 사용 가능하므로 템플릿에 TIME_ZONE 변수가 있습니다.
참조 : https://docs.djangoproject.com/en/dev/topics/i18n/timezones/#get-current-timezone.

다른 설정의 경우 자신의 컨텍스트 프로세서를 작성하거나보기에서 설정 값을 보내야합니다.
from django.conf import settings과 같은 프로젝트 설정을 가져올 수 있습니다.
Google 문서 도구는 로컬 설정 파일 대신 사용하는 것이 좋습니다.

현재 세부 사항을 찾을 수 있습니다 귀하의 답변에 대한 https://docs.djangoproject.com/en/dev/topics/settings/#using-settings-in-python-code

+0

감사합니다. 그것으로 문제가 해결됩니다. 그렇다면 문맥 프로세서를 작성하는 것이 사용자 정의 된 전역 변수를 모든 템플릿에 표시 할 수있는 가장 간단한 방법일까요? 템플릿을 템플릿에 전달할 때마다 (내가 '우아한'소리가 들리지 않습니다.) – jorgeas80

+0

글쎄, 아직 단순한 것은 아닙니다. 아직 보지 않았다면 여기를보세요 - https : //docs.djangoproject.com/ko/dev/ref/templates/api/#writing-your-own-context-processors –

+0

Ok. 정말로 쉽습니다. 많은 감사합니다! – jorgeas80

관련 문제