2012-10-10 3 views
0

Django를 처음 사용하니 장고 템플릿의 데이터에서 메시지를 해결하는 가장 좋은 방법을 알고 싶습니다. 내 모델에는 사용자 친화적 인 메시지로 대체해야하는 다양한 토큰이 있습니다. 같은 : 그 변경할 수 없기Django Template 메시지 해상도

MyModelObject.MyProperty = 'FOO' 

는 DB에 저장되어 있지만, 템플릿, 나는 'FOO'일

{{ MyModelObject.MyProperty }} 

을 바로 출력 할 수 없습니다 무슨이다. 나는 "This value is Foo"와 같은 것을 출력하려고 할 것입니다. 또는 'FOO'가 키가 될 문자열. 템플릿이나 다른 지원되는 프레임 워크 구조로 사전을 선언하는 방법이 있습니까?

나는 조건문의 긴 목록을 코딩하지 않을 것입니다.

답변

0

내부 반환 값을 사용자 친숙한 메시지에 매핑하는 사전을보기에 만듭니다. 이 사전을 템플릿에 전달하십시오. 또는 django 메시징 프레임 워크 - https://docs.djangoproject.com/en/dev/ref/contrib/messages/

+0

아아를 조사하고 싶을 수 있습니다. 프리젠 테이션 및 로직 믹싱. 하지만 작동 할거야 –

+0

그래, 프리젠 테이션과 로직이 섞여있다. 나는 내 코드를 깨끗하게 유지하고 싶지만 항문에 대해서는 아무런 의미가 없다.이 간단한 경우에는 그걸로 도망 갈 수있다. 귀하의 사전이 너무 커지거나 여분의 로직을 추가 할 필요가 생기기 시작하면 예를 들어 단수/복수로 오류 메시지를 처리하면 논리를 사용자의 관점으로 이동시키는 것이 확실합니다. 하지만 간단하다면 ... 어쨌든 메시징 프레임 워크를 사용하면 논리/표현 믹싱에 대해 걱정할 필요가 없습니다. 또는 더 정교한 동작이 필요한 경우 템플릿 태그를 작성하십시오. 오, 내 대답을 받아들이면 사용하십시오. – scytale

관련 문제