2013-10-31 1 views
0

999 이상 번호를 사용하지 않습니다 문제는 :템플릿 점 장고

나는 등 DB, 예를 들어, 1000, 1001 ... 2000의 테이블에서 999 개 이상의 요소, DB의 ID를 가지고

포인트없이 저장되지만, 템플릿에서이 ID를 사용하려고하면 point, example, 1.000, 1.001 ... 2.000으로 변환됩니다. 나는 '안전한'필터를 사용하여 문제를 해결했다.

참고 : 예를 들어 영어로 된 사용 지점이나 쉼표는 템플릿에 '1,100'(천백 개)으로 표시된다는 것을 알았습니다.

{{ value.id|safe }} 

그러나 다른 기능에 맞게 확장 할 수 없기 때문에 해결책이 아닌 것 같습니다. 이 구름은 다른 사람들이 코드의 일부분에있을 때 나는 kwow하지 않았다.

장고가하는 이유 버그는 왜 발생하는지 이해하지 못합니다.

다른 해결책이 있습니까? 예를 들어 설정에 구성 가능한 값이 있습니까?

답장을 보내 주셔서 감사합니다.

+0

"요점없이 저장"을 명확히하십시오. 십진수/부동 소수점 정수를 의미합니까? PK id는 정수 여야합니다. 내가 당신이 요구하는 것을 따르고 있는지 확신 할 수 없습니다. – Dan

+0

좋아요, DB는 포인트없이 저장됩니다, 나는 포인트, 예제, '1000', '1.000'없이 DB에 저장된 것과 같은 방식으로 템플릿에 표시해야합니다. 내 영어로 죄송합니다, 제 모국어가 아닙니다. – Juan

답변

3

django-admin.py startproject으로 생성 된 기본 settings.py 파일에는 편의상 USE_L10N = True이 포함되어 있습니다. 그러나 천 단위 구분 기호로 숫자 서식을 사용하려면 설정 파일에 USE_THOUSAND_SEPARATOR = True을 설정해야합니다. 또는 intcomma을 사용하여 서식 파일의 숫자를 서식 지정할 수 있습니다.

{% load l10n %} 

그래서이 unlocalize하는 :

그것은 당신이 당신이 중 하나를 전 세계적으로 프로젝트 나와 템플릿의 국제화를로드 한 것으로 추정 USE_THOUSAND_SEPARATOR = False

을 설정하는 것입니다 필요 같은 소리 값 사용 :

{{ value.id|unlocalize }} 

See the Django documentation for more information.

+0

감사합니다. 'USE_THOUSAND_SEPARATOR = False'가 나를 도와주었습니다. – Juan

+0

이 답변으로 문제가 해결 된 경우 다른 사람들이 동일한 문제를 겪고 있거나 검색에서이 질문을 발견 한 경우에 대비하여 답변을 수락 된 답변으로 표시하는 것이 좋습니다. – Dan

+0

Okey, Done Dan, 시간 내 주셔서 감사합니다. – Juan