Skip to main content

Translatable model fields for Django with admin integration

Project description

Translatable model fields for Django with admin integration. Uses PostgreSQL JSONField.

Installation

  • Add application

INSTALLED_APPS = (
    ...
    'translatable_fields',
    ...
)
  • Add TranslatableField model fields

from django.db import models
from django.utils.translation import ugettext_lazy as _

from translatable_fields.models import TranslatableField


class Position(models.Model):
    ...
    title = TranslatableField(
        verbose_name=_('title')
    )
    description = TranslatableField(
        verbose_name=_('description')
    )
    ...
  • Create custom model admin form

from django import forms
from django.contrib.postgres.forms import JSONField
from ckeditor_uploader.widgets import CKEditorUploadingWidget

from careers.models.position import Position
from translatable_fields.widgets import TranslatableWidget


class PositionAdminForm(forms.ModelForm):
    title = JSONField(widget=TranslatableWidget(widget=forms.TextInput))
    description = JSONField(widget=TranslatableWidget(widget=CKEditorUploadingWidget))

    class Meta:
        model = Position
        fields = (
            ...
            'title',
            'description',
            ...
        )
  • Create custom model admin with custom form

from django.contrib import admin

from careers.forms.admin.position import PositionAdminForm


class PositionAdmin(admin.ModelAdmin):
    form = PositionAdminForm

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-translatable-fields-0.0.1.tar.gz (5.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page