2016-03-15 42 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

相關問題