2017-11-18 76 views
0

我根本無法做出簡單的Django項目工作。我得到了同樣的錯誤,如這一問題,我發現上市:Django ModuleNotFoundError

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

對我來說,唯一的區別是,它說:「無模塊命名項」。這似乎沒有解決辦法,我也不明白對此的評論。

我的目錄結構是這樣的:

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 

我已經應用添加條目settings.py中的INSTALLED_APPS列表。但從那裏看來似乎遇到了問題。

我一直在努力工作了很長時間,我只是不明白它(即使它可能很容易)。

UPDATE 這是我得到的確切堆棧跟蹤:

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: 這是我的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', 
] 

我已經嘗試使用剛剛條目爲好。這給出了相同的錯誤。

+0

你可以把確切的錯誤與堆棧跟蹤?你的代碼不會顯示錯誤發生的地方。 –

+0

我已經更新以包含堆棧跟蹤。這對我來說並沒有什麼意義,所以希望你可以點亮一些。 – ilikethestars

回答

0

它看起來像你的項目目錄是放錯了地方。你應該把它提高一級,所以它是app/entries而不是app/app/entries

(你是正確的,「entries.apps.EntriesConfig」是添加到INSTALLED_APPS有效的方式。)

+0

嗨,是的,我知道這是它在django教程中的佈局。我有意地試圖將我的應用程序放入項目中以獲得更好的結構。我認爲這是可能的,是不可能的? – ilikethestars

+0

如果你是初學者,你應該堅持使用教程的目錄結構,否則你將會一直存在這樣的困難。默認的目錄結構也可能是一種比你自己作爲初學者自己想出的任何結構更好的結構。 –

+0

是的,我想那些寫django的人比我知道的更好。由於某種原因,所有的應用程序都坐在那裏,它並不是坐着。我現在就像現在的教程一樣繼續前進。我不應該如此固執。 – ilikethestars

0

你必須添加目錄中設置文件 settings

+0

嗨,我更新了這個帖子,向您展示了我在settings.py中的INSTALLED_APPS。我想我已經列出了該應用程序,所以它不應該是這樣嗎? – ilikethestars

0

OK,嘗試用這個文件apps.py apps

+0

我在這裏有條目。現在我已決定將應用程序移動到上面的目錄中,按照接受的答案。 – ilikethestars

相關問題