2016-03-15 87 views
2

这里有很多类似的问题,但它们似乎都是针对旧版本的,或者与错字有关。Django 1.9教程第2部分:运行python manage.py makemigrations polls时没有名为'polls.apps'的模块

part 2 of the Django 1.9 tutorial,我停留在对投票程序的初始迁移:

python manage.py makemigrations polls

运行此,我得到的错误:`导入错误:没有模块名为“polls.apps”

我使用Python 3.5.1Django 1.9.4

摘自mysite/settings.py

... 
INSTALLED_APPS = [ 
    'polls.apps.PollsConfig', 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
] 
... 

文件夹结构:

. 
├── db.sqlite3 
├── manage.py 
├── mysite 
│   ├── __init__.py 
│   ├── __init__.pyc 
│   ├── __pycache__ 
│   ├── settings.py 
│   ├── settings.pyc 
│   ├── urls.py 
│   └── wsgi.py 
└── polls 
    ├── __init__.py 
    ├── __pycache__ 
    ├── admin.py 
    ├── models.py 
    ├── tests.py 
    ├── urls.py 
    └── views.py 

4 directories, 21 files 

回答

7

你缺少apps.py文件(和polls.migrations包也),这应该已在此步骤中产生:Creating the Polls app。请检查以确保您已正确完成该步骤。

+3

你是对的,我不知道为什么那个文件不存在,但是擦除'polls'文件夹并重新运行'python manage.py startapp polls'解决了这个问题。 **编辑**所有提到都是正确的 - 发生了什么是,我在另一个终端选项卡中运行的命令不是在正确的virtualenv(在Python 2上,可能是Django的旧版本),令人惊讶的是,它运行无误。 – waffl

+0

也许你以前在运行'startapp'时使用了不同版本的Django。当你运行'python manage.py startapp'时,Django 1.8和更早的版本不会创建'apps.py'。 – Alasdair

+0

@Alasdair但在这种情况下,我怀疑应该有'migrations'包创建,对吧?谢谢。 – alecxe

5

怎么样,如果你通过只是

INSTALLED_APPS = [ 
    'polls', 
    ... 
] 
+0

真棒!我和waffi报告的问题一样,但是在教程 – cmedeiros

0

是更换

INSTALLED_APPS = [ 
    'polls.apps.PollsConfig', 
    ... 
] 

! settings.py文件应包含...

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

该教程是如此令人沮丧跟随有错误和令人费解的语句: 在Windows中,你不能使用时区,这样只需使用该系统时区。呃,......如何? 你只需将其设置为无,即:

TIME_ZONE = None # for Windows!! Was: 'UTC' for Chicago 

USE_I18N = True 

USE_L10N = True 

USE_TZ = False ## just use Windows system time 

希望这可以帮助别人。

+0

tbh以外,这是一个深奥的'狂热'应用程序开发工具,并不快速。 也许一旦你得到了django的窍门,但要学习所有这些怪异的废话,并且必须在每次开发应用程序或项目时重复它,这对于那些对开发工具,过程感兴趣的人来说,而不是仅仅获得与您的项目。 我正在尝试http://www.web2py.com/init/default/download。 – Roy

0

请确认您使用的是哪个python:python2或python3。

$ python --version 
Python 2.7.6 
$ python3 --version 
Python 3.4.3 

别名切换到python3并重新运行教程后,​​我拿到了丢失的文件polls/apps.py(其中包含类PollsConfig)。

+0

这不提供问题的答案。一旦你有足够的[声誉](http://stackoverflow.com/help/whats-reputation),你将可以在任何帖子上[评论](http://stackoverflow.com/help/privileges/comment)。另外检查这[我可以做什么,而不是](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an-i-do-instead )。 – thewaywewere

相关问题