2

私は何かが欠けているに違いない。

設定ファイルから DEFAULT_CONTENT_TYPE をインポートしようとしています。私の settings.py ファイルで具体的に定義していませんが、デフォルトが利用可能であると想定していました。

この変数を settings.py に追加すると正常に動作しますが、そこにないのでインポートしようとすると、runserver コマンドで開発サーバーを使用すると ImportError が発生します。

from settings import DEFAULT_CONTENT_TYPE
ImportError: cannot import name DEFAULT_CONTENT_TYPE

settings.py ファイル追加しなくても、これを実行できるはずではありませんか?

4

2 に答える 2

5

ユーザーfrom settings import ...またはimport settings. これは常に設定モジュールのみをインポートしますが、Django 設定全体はインポートしません。

from django.conf import settingsすべての Django プロジェクトで代わりに使用してください。これは、Django で定義されたすべての設定と、設定ファイルからのプロジェクト設定のラッパーである Django 設定クラスを使用しています。

したがって、あなたの例では、DEFAULT_CONTENT_TYPE経由でアクセスしsettings.DEFAULT_CONTENT_TYPEます。

于 2011-08-17T03:14:15.280 に答える
0

settingsプロジェクトに関連しているため、設定ファイルDEFAULT_CONTENT_TYPEからインポートしようとします。Django の組み込み設定を使用する場合は、ライブラリから含める必要があります (申し訳ありませんが、このマシンには Django がインストールされていません。そうでない場合は、それが定義されているファイルを検索します)。DEFAULT_CONTENT_TYPE

このようなもの: from django.some.settings.file import DEFAULT_CONTENT_TYPE

grepDjango lib dir を 'ing するだけで、それを見つけることができるはずです。

于 2011-08-17T02:49:31.577 に答える