Django-admin.py pesan pesan gagal

Saya telah membuat file bahasa dengan django-admin.py makemessages -a

Sedikit pengembangan kemudian semua upaya untuk membuat file *.po gagal dengan:

django-admin.py makemessages  -v 3 -a
examining files with the extensions: .html and .txt
Traceback (most recent call last):
  File "/usr/local/bin/django-admin.py", line 5, in <module>
    management.execute_from_command_line()
  File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py",         line 385, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", line     377, in execute
  self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.4/dist-packages/django/core/management/base.py", line    288, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/local/lib/python3.4/dist-packages/django/core/management/base.py", line 338, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.4/dist-packages/django/core/management/base.py", line 533, in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python3.4/dist-packages/django/core/management/commands/makemessages.py", line 283, in handle_noargs
potfiles = self.build_potfiles()
File "/usr/local/lib/python3.4/dist-packages/django/core/management/commands/makemessages.py", line 299, in build_potfiles
file_list = self.find_files(".")
File "/usr/local/lib/python3.4/dist-packages/django/core/management/commands/makemessages.py", line 358, in find_files
ignored_roots = [os.path.normpath(p) for p in (settings.MEDIA_ROOT, settings.STATIC_ROOT)]
File "/usr/local/lib/python3.4/dist-packages/django/core/management/commands/makemessages.py", line 358, in <listcomp>
ignored_roots = [os.path.normpath(p) for p in (settings.MEDIA_ROOT, settings.STATIC_ROOT)]
File "/usr/lib/python3.4/posixpath.py", line 335, in normpath
initial_slashes = path.startswith(sep)
AttributeError: 'NoneType' object has no attribute 'startswith'

Saya mencobanya dengan beberapa ekstensi file dan pola -ignore. Apakah Anda punya petunjuk?


person Lioman    schedule 04.11.2014    source sumber
comment
Sudahkah Anda memeriksa untuk memastikan settings.MEDIA_ROOT dan settings.STATIC_ROOT ada dan valid?   -  person schillingt    schedule 05.11.2014
comment
Saya telah mencoba mengaturnya seperti ini: STATIC_ROOT = ( os.path.join(BASE_DIR, 'static'), ) atau dengan '/var/www/projectroot/static'   -  person Lioman    schedule 05.11.2014
comment
Oke, itu aneh: Saya menggunakan gelandangan untuk pengembangan dan kesalahan yang dijelaskan terjadi di sana, sedangkan setiap perintah lainnya tidak menghasilkan kegagalan. Saya sudah mencobanya di mesin host dan semuanya berfungsi sebagaimana mestinya.   -  person Lioman    schedule 05.11.2014
comment
Itu bukan duplikat, itu pertanyaan yang sama!   -  person Lioman    schedule 18.11.2014


Jawaban (2)


Ini disebabkan oleh bug yang diperkenalkan di Django 1.7.1. Anda dapat memperbaikinya dengan memperbarui Django Anda ke versi terbaru menggunakan:

  pip install -U django

P.S. Pertanyaan dan jawaban StackOverflow terkait mengenai masalah ini dapat ditemukan di sini dan di sini.

person Akyidrian    schedule 21.01.2015

Saya mengalami masalah yang sama sejak Django 1.7. Saya menggunakan manage.py untuk membuat pesan alih-alih Django-admin.py tidak termasuk folder lingkungan:

python manage.py makemessages --locale=en --ignore=venv/*
person iago1460    schedule 08.12.2014