В первой части мы узнали, как менять шаблоны админки джанго, а так же ее заголовки.
В этой части мы продолжим кастомизировать свою админку и начнем с отображения в ней атрибутов наших моделей, а именно — свойстве verbose_name. Для примера возьмем нашу модель:
City = models.CharField(max_length=90) Sex = models.CharField(max_length=1) Age = models.SmallIntegerField(null=True) Image = models.ImageField(upload_to='static/images', max_length=100)
В админке она будет отображаться как City, Sex, Age и Image. А теперь добавим verbose_name:
City = models.CharField(max_length=90, verbose_name='Город') Sex = models.CharField(max_length=1, verbose_name='Пол') Age = models.SmallIntegerField(null=True, verbose_name='Возраст') Image = models.ImageField(upload_to='static/images', max_length=100, verbose_name='Изо')
Отлично! Теперь все наши поля в админке имеют читабельные для пользователя обозначения.
Перейдем к следующему шагу:
Изменение названия приложения в админке Django
Чтобы поменять отображаемое название приложения в админке django, необходимо найти файл apps.py в корне нашего приложения. До изменений выглядит он примерно так:
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.apps import AppConfig class MainConfig(AppConfig): name = 'main'
Нам надо добавить строчку (переопределить) поле verbose_name в тело класса настроек программы MainConfig:
verbose_name=u'Главное приложение'
Хорошо, но это еще не все! Это не будет работать,пока не добавить в конструктор пространства имен ссылку на MainConfig:
default_app_config = 'main.apps.MainConfig'
Все, перезагружаем страницу и любуемся 🙂
Перевод сайта
Ок. Но что нам делать со всеми англоязычними кнопками и ссылками. Неужели придется их все переопределять? Не волнуйтесь, для этого в setings.py достаточно всего лишь поменять локализацию. Это даже не стоит рассматривать… А что стоит рассмотреть, так это то, что дефолтный перевод может вас не устроить. Что же делать тогда?
Дефолтные словари для разных языков админки джанго хранятся в папке django\contrib\admin\locale\. Здесь вы найдете множество переводов на большинство языков мира. Но нам в первую очередь, конечно,интересует русский язык. Ищем папку «ru», в ней \LC_MESSAGES. В нем открываем файл django.po — это файл, который хранит все версии переводов. Допустим, нам необходимо изменить
Ищем в файле следующие строки:
#, python-format msgid "Select %s to change" msgstr "Выберите %s для изменения"
и меняем слово «изменения» на «редактирования», сохраняем. Теперь нам необходимо обновить бинарные файлы перевода через python manage.py makemessages -l ru
и перезапустить джанго.
от