Python
 Computer >> コンピューター >  >> プログラミング >> Python

Djangoのモデルインスタンスに翻訳を追加する


この記事では、任意のインスタンスの翻訳を作成する方法を学習します。 ID、名前、引用符、行などのデータを保存する必要がある場合があります。そのデータを異なる言語でレンダリングする必要がある場合があります。そのためには、多くのデータベース処理を行う必要がありますが、今日は、ほんの数行のセットアップで同じ結果を得る方法を紹介します。

Djangoプロジェクトとアプリを作成します。 URLを設定する INSTALLED_APPSにアプリを追加するなどの基本的な操作を行います。

モデルを作成します。ここでは、 views.py、urls.pyとはあまり関係がありません。 または任意のhtmlファイル。 settings.py、admin.py、models.pyでのみ作業できます およびadminurlpoint。

django-klingonをインストールします パッケージ-

pip install django-klingon

settings.py これを追加-

INSTALLED_APPS += ['klingon']
KLINGON_DEFAULT_LANGUAGE = 'en'

ここでは、クリンゴンを追加する基本的な設定を行います プロジェクトのアプリとして、英語をデフォルトの言語として定義しています。

このようなモデルを作成する-

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)
>

ここでは、モデルを admin urlに追加しただけです。 およびクリゴンを追加 管理者の翻訳リファレンス。

これで、すべて完了です。出力を確認しましょう。

出力

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','お元気ですか')

これで、作成された翻訳オブジェクトを確認できます。明らかに、これは views.pyから追加できます。

https://127.0.0.1/admin/

Djangoのモデルインスタンスに翻訳を追加する


  1. Djangoのモデルインスタンスに翻訳を追加する

    この記事では、任意のインスタンスの翻訳を作成する方法を学習します。 ID、名前、引用符、行などのデータを保存する必要がある場合があります。そのデータを異なる言語でレンダリングする必要がある場合があります。そのためには、多くのデータベース処理を行う必要がありますが、今日は、ほんの数行のセットアップで同じ結果を得る方法を紹介します。 Djangoプロジェクトとアプリを作成します。 URLを設定する INSTALLED_APPSにアプリを追加するなどの基本的な操作を行います。 モデルを作成します。ここでは、 views.py、urls.pyとはあまり関係がありません。 または任意のhtmlフ

  2. DjangoモデルにJSONフィールドを追加する

    この記事では、DjangoモデルにJSONフィールドを追加する方法を説明します。 JSONは、データをキーと値の形式で保存するための単純な形式です。中括弧で書かれています。多くの場合、開発者のWebサイトでは、開発者データを追加する必要があり、そのような場合はJSONフィールドが役立ちます。 まず、Djangoプロジェクトとアプリを作成します。 INSTALLED_APPSにアプリを追加したり、URLを設定したり、基本的なモデルを作成したり、そのフォームをHTMLファイルにレンダリングしたりするなど、すべての基本的なことを行ってください。 例 django-jsonfieldをインストー