0

私は以前にローカルホストでDjangoサーバーを実行したことがあり、この問題に遭遇したことはありません。私は自分が間違ったことを必死に理解しようとしています。

Ubuntu12.04でPython2.7を使用してDjango1.4を使用しています。

私がすべてを正しく構成したと言える限り、私は実際に、私が通りかかったものとして構築した別の機能的なDjangoプロジェクトを使用しています。

次のコマンド(またはその推奨されるバリエーション)を実行すると、エラーが発生します。

django-admin.py runserver localhost:8000

エラーは次のとおりです。

ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

誰かがこのエラーが発生している理由、それを修正する方法、そして他のDjangoプロジェクトで発生しない理由について教えてもらえますか?!?

Googleで簡単に検索するだけで、この問題に関する多くの投稿を見つけましたが、提案された解決策はどれも役に立ちませんでした。また、それらを本当に理解していません。

4

2 に答える 2

4

私はあなたが走ることになっているとかなり確信しています

manage.py runserver

プロジェクトディレクトリ内から。それはあなたのsettings.pyなどを自動的にロードします。

Djangoドキュメントから:

一般に、単一のDjangoプロジェクトで作業する場合は、manage.pyを使用する方が簡単です。複数のDjango設定ファイルを切り替える必要がある場合は、DJANGO_SETTINGS_MODULEとともにdjango-admin.pyを使用するか、-settingsコマンドラインオプションを使用します

于 2012-10-07T06:08:41.000 に答える
1

ディレクトリ構造のコードや例をさらに提供すると役立つ場合があります。

まず、コマンドは一般的manage.py runserver 8000にですので、それを試してみてください。そうすると違いが生じる可能性があります。

次に、Django 1.4では、settings.pyファイルの場所が移動されました。以前のバージョンのDjangoでは、ディレクトリ構造は次のようになりました。

myproject/
    settings.py
    views.py
    urls.py
    myapp/
        models.py
        ...
    ...

ただし、Django 1.4では、メインのプロジェクト設定とファイルは別のディレクトリに移動されました。

myproject/
    myproject/
        settings.py
        views.py
        urls.py
    myapp/
        models.py
        urls.py
        ...
    ...

したがって、Django 1.4を使用しているが、前の例から外れてsettings.pyいる場合は、間違った場所にいる可能性があります。さらに、を実行すると、 2つのdjango-admin.py startprojectファイルが誤って作成されることがあります。1つは古い場所に、もう1つは新しい場所にあり、さらに混乱する可能性があります。注意を払うのは、プロジェクトのディレクトリにあるものだけです。 settings.pymanage.py

エラーが示すように、自分が間違った場所にいることが判明したが、settings.py移動したくない場合は、プロジェクトに使用するDJANGO_SETTINGS_MODULEDjangoへのパスと呼ばれる環境変数を設定できsettings.pyます。私は絶対にこれを行うことをお勧めしません。

于 2012-10-07T06:12:09.563 に答える