Name | django-modeltrans-tabs JSON |
Version |
0.1.1
JSON |
| download |
home_page | None |
Summary | Tabbed UI for django-modeltrans |
upload_time | 2024-10-03 08:21:03 |
maintainer | None |
docs_url | None |
author | Julian Wachholz |
requires_python | <4.0,>=3.8 |
license | MIT |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# django-modeltrans-tabs
Adds a tabbed UI to [`django-modeltrans`](https://github.com/zostera/django-modeltrans/) translation fields in the Django Admin.
<picture>
<source media="(prefers-color-scheme: dark)" srcset="img/modeltrans_tabs_dark.png">
<source media="(prefers-color-scheme: light)" srcset="img/modeltrans_tabs_light.png">
<img alt="Tabbed translation admin UI." src="img/modeltrans_tabs_light.png">
</picture>
## Installation
Use your preferred package manager:
```bash
pip install django-modeltrans-tabs
```
## Setup
Just two steps to enable. First, update your `settings.py`:
```py
INSTALLED_APPS = [
# Ensure staticfiles is installed
"django.contrib.staticfiles",
#
# Add modeltrans-tabs:
"modeltrans_tabs",
]
```
Then, inherit the mixin from your `ModelAdmin`:
```py
from modeltrans_tabs.admin import TabbedLanguageMixin
class MyModelAdmin(TabbedLanguageMixin, admin.ModelAdmin):
...
```
## Usage
By default, the admin mixin will modify your fieldset to incorporate your translated fields. No changes are required in this case.
If you use a customized fieldset on your `ModelAdmin`, you will need to update the field list to include all languages for a translated field as a tuple.
This uses the Admin's feature to show multiple fields in the same row. Note that you do not include the `field_i18n` variant.
Using the `i18n_fields` helper method:
```py
class MyModelAdmin(TabbedLanguageMixin, admin.ModelAdmin):
def get_fieldsets(self, request, obj=None):
return (
(
None,
{
"fields": (
"normal_field",
self.i18n_field("translated_field"),
),
}
)
)
```
Or manually:
```py
class MyModelAdmin(TabbedLanguageMixin, admin.ModelAdmin):
fieldsets = (
(
None,
{
"fields": (
"normal_field",
(
"translated_field",
"translated_field_de",
"translated_field_fr",
"translated_field_it",
),
),
}
)
)
```
Raw data
{
"_id": null,
"home_page": null,
"name": "django-modeltrans-tabs",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": null,
"author": "Julian Wachholz",
"author_email": "julian@wachholz.ch",
"download_url": "https://files.pythonhosted.org/packages/ae/dd/0cb11456fdccf20ff1589f36741a96c054a93b39fdf1288ce70175cfb970/django_modeltrans_tabs-0.1.1.tar.gz",
"platform": null,
"description": "# django-modeltrans-tabs\n\nAdds a tabbed UI to [`django-modeltrans`](https://github.com/zostera/django-modeltrans/) translation fields in the Django Admin.\n\n<picture>\n <source media=\"(prefers-color-scheme: dark)\" srcset=\"img/modeltrans_tabs_dark.png\">\n <source media=\"(prefers-color-scheme: light)\" srcset=\"img/modeltrans_tabs_light.png\">\n <img alt=\"Tabbed translation admin UI.\" src=\"img/modeltrans_tabs_light.png\">\n</picture>\n\n## Installation\n\nUse your preferred package manager:\n\n```bash\npip install django-modeltrans-tabs\n```\n\n## Setup\n\nJust two steps to enable. First, update your `settings.py`:\n\n```py\nINSTALLED_APPS = [\n # Ensure staticfiles is installed\n \"django.contrib.staticfiles\",\n #\n # Add modeltrans-tabs:\n \"modeltrans_tabs\",\n]\n```\n\nThen, inherit the mixin from your `ModelAdmin`:\n\n```py\nfrom modeltrans_tabs.admin import TabbedLanguageMixin\n\n\nclass MyModelAdmin(TabbedLanguageMixin, admin.ModelAdmin):\n ...\n\n```\n\n\n## Usage\n\nBy default, the admin mixin will modify your fieldset to incorporate your translated fields. No changes are required in this case.\n\nIf you use a customized fieldset on your `ModelAdmin`, you will need to update the field list to include all languages for a translated field as a tuple.\n\nThis uses the Admin's feature to show multiple fields in the same row. Note that you do not include the `field_i18n` variant.\n\n\nUsing the `i18n_fields` helper method:\n\n```py\nclass MyModelAdmin(TabbedLanguageMixin, admin.ModelAdmin):\n def get_fieldsets(self, request, obj=None):\n return (\n (\n None,\n {\n \"fields\": (\n \"normal_field\",\n self.i18n_field(\"translated_field\"),\n ),\n }\n )\n )\n```\n\nOr manually:\n\n```py\nclass MyModelAdmin(TabbedLanguageMixin, admin.ModelAdmin):\n fieldsets = (\n (\n None,\n {\n \"fields\": (\n \"normal_field\",\n (\n \"translated_field\", \n \"translated_field_de\", \n \"translated_field_fr\", \n \"translated_field_it\",\n ),\n ),\n }\n )\n )\n```",
"bugtrack_url": null,
"license": "MIT",
"summary": "Tabbed UI for django-modeltrans",
"version": "0.1.1",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8bd1a11d8b4b242eebd36d9a3afdfb64bccf20f7b718e9a3be5a434adf8e0d1a",
"md5": "f662d66854ba290a217b9b12347d17e1",
"sha256": "419a61260881e534827e2294f5aaf9545189ae2d61c4605b3cc5f20a39d53215"
},
"downloads": -1,
"filename": "django_modeltrans_tabs-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f662d66854ba290a217b9b12347d17e1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 6198,
"upload_time": "2024-10-03T08:21:01",
"upload_time_iso_8601": "2024-10-03T08:21:01.746434Z",
"url": "https://files.pythonhosted.org/packages/8b/d1/a11d8b4b242eebd36d9a3afdfb64bccf20f7b718e9a3be5a434adf8e0d1a/django_modeltrans_tabs-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "aedd0cb11456fdccf20ff1589f36741a96c054a93b39fdf1288ce70175cfb970",
"md5": "9f86fe4bbd31e6009daa45c61a08cd7f",
"sha256": "0f660c4bb39258d364fa90ce4d4eb29d85c24635256ee266e20c2e039c0fe744"
},
"downloads": -1,
"filename": "django_modeltrans_tabs-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "9f86fe4bbd31e6009daa45c61a08cd7f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 5024,
"upload_time": "2024-10-03T08:21:03",
"upload_time_iso_8601": "2024-10-03T08:21:03.312718Z",
"url": "https://files.pythonhosted.org/packages/ae/dd/0cb11456fdccf20ff1589f36741a96c054a93b39fdf1288ce70175cfb970/django_modeltrans_tabs-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-03 08:21:03",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "django-modeltrans-tabs"
}