2016-08-19 76 views
0

我试图寻找这个问题的答案,但至少在我眼中,我没有在其他地方找到同样的问题。Django ImportError:没有名为'shop'的模块

我开始做从书“的Django通过例如Django项目”。我一直在使用一个虚拟的环境。随着这本书,我下载的Django 1.8.6。

我添加该应用‘商店’ 。到

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'shop', 
) 

在设置文件的应用程序列表中我根据这本书创建的模型

然后我试图“makingmigrations”,但它给了我导入错误是这样的:。

(myenv) C:\Users\Subject\djangoshop>python manage.py runserver --traceback 
Unhandled exception in thread started by <function check_errors.<locals>.wrapper 
at 0x0000000003EEEB70> 
Traceback (most recent call last): 
    File "C:\Users\Subject\djangoshop\myenv\lib\site-packages\django\utils\autorel 
oad.py", line 229, in wrapper 
    fn(*args, **kwargs) 
    File "C:\Users\Subject\djangoshop\myenv\lib\site-packages\django\core\manageme 
nt\commands\runserver.py", line 107, in inner_run 
    autoreload.raise_last_exception() 
    File "C:\Users\Subject\djangoshop\myenv\lib\site-packages\django\utils\autorel 
oad.py", line 252, in raise_last_exception 
    six.reraise(*_exception) 
    File "C:\Users\Subject\djangoshop\myenv\lib\site-packages\django\utils\six.py" 
, line 658, in reraise 
    raise value.with_traceback(tb) 
    File "C:\Users\Subject\djangoshop\myenv\lib\site-packages\django\utils\autorel 
oad.py", line 229, in wrapper 
    fn(*args, **kwargs) 
    File "C:\Users\Subject\djangoshop\myenv\lib\site-packages\django\__init__.py", 
line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "C:\Users\Subject\djangoshop\myenv\lib\site-packages\django\apps\registry 
.py", line 85, in populate 
    app_config = AppConfig.create(entry) 
    File "C:\Users\Subject\djangoshop\myenv\lib\site-packages\django\apps\config.p 
y", line 86, in create 
    module = import_module(entry) 
    File "C:\Python34\lib\importlib\__init__.py", line 109, in import_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
    File "<frozen importlib._bootstrap>", line 2254, in _gcd_import 
    File "<frozen importlib._bootstrap>", line 2237, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 2224, in _find_and_load_unlocked 
ImportError: No module named 'shop' 

应用商店中有一个空白的__init__.py文件。

这幅图应该显示一些树。我从PyCharm中获得了它。 (我试图在命令提示符下树的命令,但它是非常长) tree

我想我后面的书给出的目录结构:

django-admin startproject myshop 
cd myshop/ 
django-admin startapp shop 

我无法创建虚拟环境的方式书指示,所以我创建它遵循本教程http://tutorial.djangogirls.org/en/django_installation/

+0

你不添加这样创建的应用程序。 写'shop.apps.shopConfig'。 –

+0

你的意思是改变settings.py? 'shop.apps.shopConfig'而不是'shop'在已安装的应用程序中?我试过了,它仍然给我同样的错误。 – ihmemies

+0

是的,我的意思是。 您的应用程序(eg-shops)应该连接到apps.py文件的类名称。 检查类名并写入如下:'shops.apps.NameOfTheClassInAppsPyFile' –

回答

0

解决方案:我在错误的文件夹中创建应用程序。想想吧,我想我使用了这个命令:

django-admin startproject myshop . 

随着最后的点,一些教程推荐。所以这个结构搞砸了,所以变得与本书的说明不相容。

因此,正如阿拉斯代尔建议的那样,我从一开始就重新开始了这个项目,问题就消失了。

相关问题