23

アプリにアクセスしようとすると、次のエラーが表示されます。

AppRegistryNotReady: アプリ レジストリの準備が整うまで、翻訳インフラストラクチャを初期化できません。インポート時に非遅延 gettext 呼び出しを行っていないことを確認してください

ここに私の wsgi.py ファイルがあります:

"""                                                                                                                                                                                     
WSGI config for Projectizer project.                                                                                                                                                    

It exposes the WSGI callable as a module-level variable named ``application``.                                                                                                          

For more information on this file, see                                                                                                                                                  
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/                                                                                                                            
"""

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Projectizer.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

そして、これがスタックトレースです。

mod_wsgi (pid=28928): Exception occurred processing WSGI script '/var/www/projectizer/apache/django.wsgi'.

Traceback (most recent call last):

File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 187, in __call__

    response = self.get_response(request)

File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 199, in get_response

    response = self.handle_uncaught_exception(request, resolver, sys.exc_info())

File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 236, in handle_uncaught_exception

    return debug.technical_500_response(request, *exc_info)

File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 91, in technical_500_response

    html = reporter.get_traceback_html()

File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 350, in get_traceback_html

    return t.render(c)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 148, in render

    return self._render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 142, in _render

    return self.nodelist.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 844, in render

    bit = self.render_node(node, context)

File "/usr/local/lib/python2.7/dist-packages/django/template/debug.py", line 80, in render_node

    return node.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/debug.py", line 90, in render

    output = self.filter_expression.resolve(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 624, in resolve

    new_obj = func(obj, *arg_vals)

File "/usr/local/lib/python2.7/dist-packages/django/template/defaultfilters.py", line 769, in date

    return format(value, arg)

File "/usr/local/lib/python2.7/dist-packages/django/utils/dateformat.py", line 343, in format

    return df.format(format_string)

File "/usr/local/lib/python2.7/dist-packages/django/utils/dateformat.py", line 35, in format

    pieces.append(force_text(getattr(self, piece)()))

File "/usr/local/lib/python2.7/dist-packages/django/utils/dateformat.py", line 268, in r

    return self.format('D, j M Y H:i:s O')

File "/usr/local/lib/python2.7/dist-packages/django/utils/dateformat.py", line 35, in format

    pieces.append(force_text(getattr(self, piece)()))

File "/usr/local/lib/python2.7/dist-packages/django/utils/encoding.py", line 85, in force_text

    s = six.text_type(s)

File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 144, in __text_cast

    return func(*self.__args, **self.__kw)

File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/__init__.py", line 83, in ugettext

    return _trans.ugettext(message)

File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py", line 325, in ugettext

    return do_translate(message, 'ugettext')

File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py", line 306, in do_translate

    _default = translation(settings.LANGUAGE_CODE)

File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py", line 209, in translation

    default_translation = _fetch(settings.LANGUAGE_CODE)

File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py", line 189, in _fetch

    "The translation infrastructure cannot be initialized before the "

AppRegistryNotReady: The translation infrastructure cannot be initialized before the apps registry is ready. Check that you don't make non-lazy gettext calls at import time.
4

8 に答える 8

30

私は同じエラーに直面しました。以下は私のために働いた。wsgi ファイルの最後の行を次のように変更します。

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

これは Django 1.6 から新しいバージョンに変更されました。 これは、 djangoアプリのデプロイに役立つ投稿です。

Nginx を Web サーバーとして使用して django アプリをデプロイする場合は、この投稿に従ってください。

于 2015-04-16T06:26:09.800 に答える
8

@hellsgateソリューションがうまくいきました。

具体的には@hellsgate が参照するリンクから、次のように変更しました。

module = django.core.handlers.wsgi:WSGIHandler()

module = django.core.wsgi:get_wsgi_application()

私のvassals.iniファイルで

于 2015-08-29T14:09:00.730 に答える
4

これは、誤って報告されたバグ ( https://code.djangoproject.com/ticket/23146)と同じようです。

私もこれに遭遇し、そのリンクで提案されている修正がうまくいきました。ファイルで更新を行う必要がありwsgi.pyます。変更方法がわからない場合は、'wsgi.py' を投稿してください。

于 2015-01-05T16:42:27.367 に答える
3

アプリケーションへのパスを設定していない可能性があります。これを私の wsgi ファイルで確認してください。より正確なドキュメントは、 https://joshcarllewis.com/articles/getting-started-with-djangoにあります。問題が解決することを願っています。

import os, sys

sys.path.append('D:/django/mysite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
于 2015-09-02T14:08:14.533 に答える
0

インストールされている「Django」のバージョンを確認できます。

$python -c 'import django; print (django.get_version ())'

そのバージョンがプロジェクト「requeriments.txt」を使用していることを確認してください。同じバージョンでない場合は、「Django」をアンインストールし、「requeriments.txt」に設定されたバージョンをインストールする必要があります。

「仮想環境」を使用している場合、「仮想環境」を間違えて、新しいバージョンの django をインストールした可能性があります。例えば:

あなたの「requeriments.txt」にDjango == 1.6.1を入れてください

$python -c 'import django; print(django.get_version())' 
1.7.4 
$sudo pip uninstall Django 
$sudo pip install Django==1.6.1
于 2015-03-23T09:42:23.923 に答える