2012-03-13 4 views
10

datetime 정보가 데이터베이스에 UTC로 저장되어 있습니다. 장고 관리자를 사용하여이 정보를 표시하고 있습니다.어떻게 장고 관리 표준 시간대를 인식합니까?

Django 관리자의 최종 사용자의 현재 시간대에 datetime 정보를 표시하는 방법이 있습니까?

보통이 논리는 템플릿/뷰 레이어에 있다고 생각하지만 장고 관리자가이 모든 것을 숨기고 숨겨진 파일을 많이 오버라이드해야하는 것처럼 보입니다. t는하고 싶어한다).

하나의 아이디어는 모델에서 DateTimeField를 하위 클래스로 만들고 데이터베이스에서 가져올 때마다 로컬 시간대로 변환하도록합니다. 그러나 이것이 작동하는지 확실하지는 않습니다.

누구든지 의견이 있으십니까? 감사.

+1

저는 이것을 수동으로 구현해야하므로 실제로 알고 싶습니다. 아무도 아무것도 나오지 않으면 나는 해킹을 게시 할 것입니다 - 기본적으로 templatetag. – jpic

+0

헤이 @jpic .. 나는 당신의 해킹을 보지 않아도 될 것입니다. 내가 깨끗한 해결책을 찾지 못하면 내가해야 할 일이있을 수 있습니다. 건배. – keyworks

답변

3

현지화 된 시간대 지원은 곧 출시 될 Django 1.4에서 사용할 수 있습니다.

+0

Django 1.4의 시간대 지원은 장고 관리자를 지원하지 않습니다. 아래 Danny의 게시물을 참조하십시오. – keyworks

+0

예, [docs] (https://docs.djangoproject.com/en/dev/topics/i18n/timezones/#selecting-the-current-time-zone) 및 Danny의 이메일 스레드에서 언급했듯이 isn 달성하기 쉬운 일은 아닙니다.하지만 밝은면에서는 이전 버전보다 훨씬 쉬워 져야합니다. ;) – roam

+0

Django 1.4는 django-admin의 시간대를 지원합니다. 나는이 [이주 가이드] (https://docs.djangoproject.com/en/dev/topics/i18n/timezones/#time-zones-migration-guide)를 따랐으며 완벽하게 작동했습니다. – keyworks

6

장고 1.4는 시간대 지원을 제공하지만 관리자는 아직 사용하지 않습니다. "축복"(pytz), 사용자 별 표준 시간대 저장 위치 (내장 된 스키마 이전 auth.User는 기본적으로 모든 Django 사용자가 데이터베이스를 동기화하지 않고 만질 수 없음)에 대한 시간대 구현에 대한 질문은 여전히 ​​있습니다. 아직 시간대 선택을위한 UI가 없습니다.

부품이 있지만이 단계에서는 여전히 DIY입니다. 죄송합니다.

내가 장고 - 개발자 http://groups.google.com/group/django-developers/browse_thread/thread/1386a2bf73babc6a

+0

안녕 Danny, django-admin의 django 1.4는 시간대를 지원하는 것 같습니다. 나는 django 문서의 마이그레이션 가이드에 따라 구현하는 데 아무런 문제가 없었다. – keyworks

+1

내 대답은 귀하의 질문에 "날짜 정보를 장고 관리자의 최종 사용자의 현재 시간대에 표시하는 방법이 있습니까?" - Django admin에서는 모든 사용자가 어디에 있든 동일한 datetime을 볼 수 있습니다. (상기 이유로) –

0

당신이 사용하고자하는 시간대를 알고있는 경우 시작 스레드를 참조하십시오, 그 시간대를 사용하는 관리자 내에서 데이터 입력 및 디스플레이를 야기하는 기술이있다. 블로그 게시물을 참조하십시오 https://www.caktusgroup.com/blog/2014/01/09/managing-events-explicit-time-zones/

내 경우에는 모든 관리 사용자가 서버의 시간대에 있으므로이 방법을 사용하여 관리자가 해당 시간대를 사용할 수있었습니다. 그러나 이것은 전 세계적으로 이루어지는 것이 아니라 필드별로 이루어 지므로이 시간대에 상대적인 날짜를 사용하는 date_hierarchy를 얻는 방법을 모르겠습니다.

관련 문제