이 기사에서는 모든 인스턴스에 대한 번역을 만드는 방법을 배울 것입니다. 때로는 ID, 이름, 따옴표, 줄 등과 같은 데이터를 저장해야 할 수도 있습니다. 해당 데이터를 다른 언어로 렌더링해야 할 수도 있습니다. 이를 위해서는 많은 데이터베이스 작업을 수행해야 하지만, 오늘은 몇 줄의 설정으로 동일한 결과를 얻는 방법을 보여 드리겠습니다.
Django 프로젝트와 앱을 만듭니다. URL 설정 INSTALLED_APPS에 앱 추가와 같은 몇 가지 기본적인 작업을 수행합니다.
모델을 만듭니다. 여기서는 views.py, urls.py와 별로 관련이 없습니다. 또는 모든 html 파일. settings.py, admin.py,models.py에 대한 작업만 있습니다. 및 관리자 urlpoint.
예시
django-klingon 설치 패키지 -
pip install django-klingon
settings.py에서 이것을 추가하십시오 -
INSTALLED_APPS += ['klingon'] KLINGON_DEFAULT_LANGUAGE = 'en'
여기서는 klingon을 추가하는 기본 설정을 수행합니다. 프로젝트에서 앱으로 지정하고 영어를 기본 언어로 정의합니다.
다음과 같은 모델을 만드십시오 -
from django.db import models from klingon.models import Translatable # add translatable class TeacherData(models.Model,Translatable): name=models.CharField(max_length=100) # first3 simple fields ClassTeacherOF=models.CharField(max_length=100) Salary=models.CharField(max_length=100) a_simple_word=models.CharField(max_length=100) # define field that will be translated translatable_fields = ('a_simple_word')
여기서는 단순히 모델을 만들었습니다. 여기에서 주목해야 할 점은 번역이 필요한 필드를 알려주고 다른 테이블에 있는 번역된 객체를 참조하는 번역 가능한 필드를 생성했다는 것입니다.
admins.py에서 다음 코드를 추가하십시오 -
from django.contrib import admin from .models import TeacherData from klingon.admin import TranslationInline, create_translations class TeacherAdmin(admin.ModelAdmin): inlines = [TranslationInline] actions = [create_translations] admin.site.register(TeacherData,TeacherAdmin)
여기에서 관리자 URL에 모델을 추가했습니다. 및 kligon 추가 관리자에서 번역 참조.
이제 모든 작업이 완료되었습니다. 출력을 확인해보자.
출력
Python 셸을 실행하고 새로 생성된 객체에 대한 번역을 추가하려면 다음을 수행하십시오 -
In [1]: from formhandlingapp.models import * In [2]: data=TeachertData.objects.create(name="ama4",ClassTeacherOF=" 10",Salary="33322",a_simple_word="how are you") In [3]: data.set_translation('jp', 'a_simple_word','お元気ですか')
이제 생성된 번역 개체를 볼 수 있습니다. 분명히 view.py를 통해 추가할 수 있습니다.
https://127.0.0.1/admin/
에서