Vấn đề là lệnh không chạy từ thư mục ứng dụng mà từ thư mục dự án. Đoạn mã từ tài liệu này giải thích điều đó:
Hóa ra trước tiên bạn cần tạo một locale
thư mục bằng cách sử dụng mkdir locale
.
./manage.py makemessages
[…] Chạy trên toàn bộ cây nguồn của thư mục hiện tại và kéo ra tất cả các chuỗi được đánh dấu để dịch. Nó tạo (hoặc cập nhật) một tệp tin nhắn trong thư mục conf / locale (trong cây Django) hoặc locale (cho dự án và ứng dụng).
Vì vậy, bạn có thể chạy lệnh từ thư mục ứng dụng:
$ cd app
$ django-admin makemessages -l <locale>
… Hoặc bạn xác định một thư mục bản địa rộng của dự án bằng cách sử dụng LOCALE_PATHS
và bạn có thể chạy makemessages
từ thư mục chính từ đó.
Dù bằng cách nào, bạn nên kiểm tra xem ./locale/
thư mục có hiện diện không và tạo nó bằng cách sử dụng
$ mkdir locale
trong trường hợp nó không.
makemessages
lệnh từlocale
thư mục đó nếu nó đã có sẵn.