2

この質問はすでに何度も聞かれていることは承知していますが、それでも自分に合った解決策が見つからないようです。私の Django プロジェクト フォルダは次のようになります。

my_project
    __init__.py
    manage.py
    my_first_app
    my_second_app
    core

「コア」フォルダは次のようになります。

__init__.py
some_other_stuff.py
settings
     __init__.py
     prod.py
     dev.py
     local.py -> dev.py

local.pydev.py私のマシン上のprod.py本番環境の正しい設定ファイルを指すシンボリックリンクです。

これが私の問題です: manage.py を使用しようとすると、奇妙なエラーが発生ImproperlyConfigured: The SECRET_KEY setting must not be empty.します。設定ファイル local.py へのパスを引数 ( --settings=core.settings.local) として渡すと、正常に実行されます。問題は、Django が設定ファイルを探す場所を知らなかったことだと思いました。どうすれば彼 (彼女?) にどこを見ればよいか教えてもらえますか?

私はすでにenv()へのパスをエクスポートし、親ディレクトリにexport DJANGO_SETTINGS_MODULE=core.settings.local設定しようとしましたが、役に立ちませんでした。PYTHONPATH

4

3 に答える 3

0

manage.py が探しているファイルの名前を変更する必要があると思います。

try:
    imp.find_module('settings') # Assumed to be in the same directory.
except ImportError:
    import sys
    sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your    settings module.\n" % __file__)
sys.exit(1)

同じディレクトリに settings.py ファイルがある場合は、「設定」を「ローカル」に変更するだけで機能します。

しかし、別のディレクトリにあるので、設定を行う必要があると思います。これを参照してください: https://docs.djangoproject.com/en/dev/topics/settings/#using-settings-without-setting-django-settings-module

from django.conf import settings

settings.configure(DEBUG=True, TEMPLATE_DEBUG=True,
TEMPLATE_DIRS=('/home/web-apps/myapp', '/home/web-apps/base'))

それが役立つことを願っています。

于 2013-06-28T14:36:09.413 に答える
0

あなたはどこかで輸入地獄にいます。この問題も一度ありました。問題の根本原因を突き止める唯一の方法は、すべてのアプリを無効にする、サーバーを起動してみる、最初のアプリを有効にする、サーバーを起動する、次のアプリを有効にする、などです。

ところで: プロジェクト レイアウトは Django 1.4 以降では使用しないでください。https://docs.djangoproject.com/en/dev/releases/1.4/#updated-default-project-layout-and-manage-py

新しいレイアウトを試してみて、「うまくいく」ことを願っています。

于 2013-06-28T12:55:48.063 に答える