문제

Django 기반 웹 사이트에 장고 다국어를 사용하고 있습니다.이 방법을 반환하려면 모델을위한 __unicode__ 함수를 정의 할 때 :

def __unicode__(self):
        return unicode(self.title)
.

그러나 내 기본 언어는 영어이고 나는 네덜란드어에만 삽입되는 항목이 있습니다.전체 목록을 미리 볼 때 "없음"제목으로 "없음"이됩니다.

영어 제목을 얻으려면 쉬운 방법이 있고 미리보기를 위해 다른 언어로 제목을 확인하십시오.

도움이 되었습니까?

해결책

모든 번역을 반복하는 것은 다음과 같이 쉽게 수행 할 수 있습니다.

>>> translations = [getattr(obj, "name_" + lang[0].replace("-","_")) for lang in
settings.LANGUAGES]
.

여기서 obj 는 모델 객체이고 lang 은 설정 파일에서 튜플 ( 'bg', 'bulgarian')을 나타냅니다.

lang [0] .replace ( "-", "_") 은 "uk-gb"와 같은 언어가있는 경우 해당 값이 NAME_UK_GB

다른 팁

GreenCheDetagcode라는 속성에 모델을 저장할 수 있으므로이 작업을 수행 할 수 있습니다.

def __unicode__(self):
  # If we've got an English title, use that
  if self.title:
    return self.title

  # Otherwise, default to the Dutch title
  return self.dutch_title
.

"일부 항목이 네덜란드어에만 삽입 된 것"이 의미하는 바를 알지 못하면 질문에 더 유용하게 대답하기가 약간 어렵습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top