2017-11-18 7 views
0

私は単純なDjangoプロジェクトをまったく動作させることはできません。私にとってDjango ModuleNotFoundError

Python/Django =- ModuleNotFoundError: No module named 'restaurants'

唯一の違いは、それが「いいえモジュールという名前のエントリを」と言うことです:私が見つけたこの質問に記載されていると私は同じエラーを取得します。これは決議がないようで、私はそれについてのコメントも理解していません。

私のディレクトリ構造は、このようなものです:私はsettings.pyでINSTALLED_APPSリストにアプリのエントリを追加した

app 
|- manage.py 
|- app 
    |- __init__.py 
    |- entries 
    | |- __init__.py 
    | |- apps.py 
    | |- models.py 
    | |- views.py 
    | |- admin.py 
    | |- tests.py 
    | |- migrations - __init__.py 
    |  
    |- urls.py 
    |- settings.py 
    |- __pycache__ 
    |- wsgi.py 

。しかし、そこからは問題に遭遇したようです。

私はこれを年齢に合わせて試してみましたが、私はそれを得られません(おそらく簡単ですが)。

UPDATE これは私が取得しています正確なスタックトレースです:これは私のINSTALLED_APPSある :

INSTALLED_APPS = [ 
    'rest_framework', 
    'entries.apps.EntriesConfig', 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
] 

私はちょうど同様エントリ使用して試してみました

Traceback (most recent call last): 
    File "manage.py", line 22, in <module> 
    execute_from_command_line(sys.argv) 
    File "/Users/maximus/.virtualenvs/piglet/lib/python3.6/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line 
    utility.execute() 
    File "/Users/maximus/.virtualenvs/piglet/lib/python3.6/site-packages/django/core/management/__init__.py", line 338, in execute 
    django.setup() 
    File "/Users/maximus/.virtualenvs/piglet/lib/python3.6/site-packages/django/__init__.py", line 27, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/Users/maximus/.virtualenvs/piglet/lib/python3.6/site-packages/django/apps/registry.py", line 85, in populate 
    app_config = AppConfig.create(entry) 
    File "/Users/maximus/.virtualenvs/piglet/lib/python3.6/site-packages/django/apps/config.py", line 94, in create 
    module = import_module(entry) 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/importlib/__init__.py", line 126, in import_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
    File "<frozen importlib._bootstrap>", line 978, in _gcd_import 
    File "<frozen importlib._bootstrap>", line 961, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 948, in _find_and_load_unlocked 
ModuleNotFoundError: No module named 'entries' 

を更新2。同じエラーが発生します。

+0

てみてくださいあなたが正確なエラーを置くことができますstacktrace?エラーが発生している場所は表示されません。 –

+0

スタックトレースを含めるように更新しました。それは本当に私にとって意味をなさないので、うまくいけば、あなたはいくつかの光を放つことができます。 – ilikethestars

答えて

0

であなたのディレクトリを追加する必要があります。 1レベル上に移動する必要があります。app/app/entriesの代わりにapp/entriesです。

(あなたは「entries.apps.EntriesConfig」はINSTALLED_APPSに追加するための有効な方法であることが正しいです。)

+0

こんにちは、私はこれがジャンゴチュートリアルでどのように配置されているのか知っています。私は意図的により良い構造のために私のアプリをプロジェクトの中に入れようとしていました。私はこれが可能だと思った、それは可能ではない? – ilikethestars

+0

初心者の方はチュートリアルでディレクトリ構造を守ってください。そうしないと、このような問題が発生します。デフォルトのディレクトリ構造はおそらく初心者としてあなた自身が思いつくどんな構造よりもよい構造です。 –

+0

ええ、私はdjangoを書いた人が私よりよく知っていると思います。それは、すべてのアプリがそこに座っている何らかの理由でちょうど座っていない。私はちょうどそのチュートリアルと同じように前進します。私はそんなに頑固ではありません。 – ilikethestars

0

あなたはそれが間違った場所にあるエントリのディレクトリのように見えた設定ファイル settings

+0

こんにちは、私はsettings.pyの私のINSTALLED_APPSを表示するために投稿を更新しました。私は既にアプリがリストされていると思うので、そうはならないだろうか? – ilikethestars

0

OK、このファイルapps.py apps

+0

私はここにエントリがあります。私は、受け入れられた答えに従って、今のところ上記のディレクトリまでアプリを移動することに決めました。 – ilikethestars

関連する問題