Проблема в том, что команда запускается не из каталога приложения, а из каталога проекта. Этот фрагмент из документации объясняет это:
Оказывается, вам нужно locale
сначала создать папку, используя mkdir locale
.
./manage.py makemessages
[…] Обходит все дерево исходного кода текущего каталога и извлекает все строки, отмеченные для перевода. Он создает (или обновляет) файл сообщения в каталоге conf / locale (в дереве Django) или locale (для проекта и приложения).
Итак, вы либо запускаете команду из каталога приложения:
$ cd app
$ django-admin makemessages -l <locale>
… Или вы определяете директорию локали для всего проекта, используя, LOCALE_PATHS
и makemessages
оттуда вы можете запустить ее из главного каталога.
В любом случае вы должны проверить наличие ./locale/
каталога и создать его, используя
$ mkdir locale
в случае, если это не так.
makemessages
команду из этогоlocale
каталога, если он уже доступен.