os.environ.setdefault("DJANGO_SETTINGS_MODULE", "PythonSpider.settings")
Django にどの設定ファイルが現在使われているかを知らせるために使います。環境変数 DJANGO_SETTINGS_MODULE を変更することで、これを行うことができ ます。
manage.py を使ってローカルの Web サーバを立ち上げるとき、どの設定ファイルが使われているかを Django に知らせるために DJANGO_SETTINGS_MODULE 環境変数のパスが指定されているのです。
manage.pyを見てみましょう。
正式な説明では、environは文字列が対応する環境のイメージオブジェクトで、よくシステム環境変数と呼ばれるものです。
中身を見てみましょう。私はmacを使っているので、まずmacのシステム環境変数を見てみましょう
[Django] DJANGO_SETTINGS_MODULE または settings.configure() を呼び出します。
ImproperlyConfiguredです。DEFAULT_INDEX_TABLESPACE の設定を要求されましたが、設定が構成されていません。設定にアクセスする前に、環境変数DJANGO_SETTINGS_MODULEを定義するか、settings.configure()を呼び出す必要があります。
上記のエラーは、 python シェルを使って django から直接モジュールをインポートした場合に発生します。
エラーの原因は python でインポートされた他のモジュールと同じで、環境変数の問題です。インポートするときに python は検索パスでインポートしたモジュールを検索しますが、現在の検索パスでモジュールが見つからないため、エラーが報告されるのです。これを解決するには、いくつかの方法があります。
1. モジュールを使用する際、最初にモジュールのパスを検索パス(os.environ)にインポートする。
2. システム環境変数にモジュールへのパスを追加する
3、インポートする必要があるモジュールをpythonの検索パスにコピーします。
このエラーに対する解決策は、上記の3つ以外にも、以下の2つがあります。
#method one
# in the django project directory
$ python manage shell
>>> import django
>>> django.setup()
>>> import blog.models # so it doesn't report an error
#Method 2
#in any directory
$ python
>>> import os
>>> os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' # here you have to pay attention to your project directory
>>> import django
>>> django.setup()
>>> import blog.models #This will not report errors
import sys
import django
sys.path.extend(['E:\\mysite'])
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
django.setup()
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例