https://github.com/geex-arts/django-translatable-fields
Translatable model fields for Django with admin integration
https://github.com/geex-arts/django-translatable-fields
Last synced: 3 days ago
JSON representation
Translatable model fields for Django with admin integration
- Host: GitHub
- URL: https://github.com/geex-arts/django-translatable-fields
- Owner: geex-arts
- License: mit
- Created: 2018-03-08T15:23:36.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-04-06T03:47:42.000Z (over 4 years ago)
- Last Synced: 2024-12-31T07:31:28.733Z (9 months ago)
- Language: Python
- Homepage:
- Size: 6.84 KB
- Stars: 1
- Watchers: 4
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
README
==========================
Django Translatable Fields
==========================Translatable model fields for Django with admin integration. Uses PostgreSQL JSONField.
Installation
============* Add application in `settings.py`
.. code:: python
INSTALLED_APPS = (
...
'translatable_fields',
...
)
* Specify languages in `settings.py`.. code:: python
# InternationalizationLANGUAGE_CODE = 'en'
LANGUAGES = (
('en', 'English'),
('ru', 'Русский')
)* Add `TranslatableField` model fields
.. code:: python
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.. code:: python
from django import forms
from django.contrib.postgres.forms import JSONField
from ckeditor_uploader.widgets import CKEditorUploadingWidgetfrom careers.models.position import Position
from translatable_fields.widgets import TranslatableWidgetclass 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
.. code:: python
from django.contrib import admin
from careers.forms.admin.position import PositionAdminForm
class PositionAdmin(admin.ModelAdmin):
form = PositionAdminForm