django-modeltrans-tabs


Namedjango-modeltrans-tabs JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryTabbed UI for django-modeltrans
upload_time2024-10-03 08:21:03
maintainerNone
docs_urlNone
authorJulian Wachholz
requires_python<4.0,>=3.8
licenseMIT
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"
}
        
Elapsed time: 0.28021s