2012-04-13 30 views
0

我試圖完成的Djangobook第3章timeit導入錯誤(djangobook第3章,第2部分,Python版本2.7.2)

Your second view: Dynamic Content當我在瀏覽器中粘貼http://localhost:8000/time/我得到以下錯誤:

Django Version: 1.4 
Exception Error: ImportError  
cannot import name current_datetime 
Exception Location: /home/name/Desktop/sc/mysite/mysite/urls.py in <module>, line 2 
python version 2.7.2 

然而,我的views.py和urls.py文件與示例和正確的文件夾是相同的。

我views.py文件

import datetime 
from django.http import HttpResponse 

def hello(request): 
    return HttpResponse("Hello world") 

def current_datetime(request): 
    now = datetime.datetime.now() 
    html = "<html><body>It is now %s.</body></html>" % now 
    return HttpResponse(html) 

我的urls.py文件

from django.conf.urls.defaults import * 
from mysite.views import hello, current_datetime 

urlpatterns = patterns('', 
    ('^hello/$', hello), 
    ('^time/$', current_datetime), 
) 

這是怎麼回事錯在這裏?


(加在原來的職位:) (EDIT 1) 我的目錄結構。 (與當前工作目錄/home/name/Desktop/sc/mysite

[email protected]:~/Desktop/sc/mysite$ ls -R 
.: 
manage.py mysite views.py views.py~ 

./mysite: 
__init__.py settings.py urls.py urls.pyc wsgi.py 
__init__.pyc settings.pyc urls.py~ views.pyc wsgi.pyc 

(EDIT 2) 我也再次開始使用名稱mysite2,而不是mysite全篇,我甚至不能拿到第一部分現在工作:Hello World。': ImportError (djangobook chapter 3, part1, python version 2.7.2)

在我改變腳本中的某些內容以使其工作之前,我無法重新創建我之前完成的工作。

+1

請檢查以確保第一個項目中沒有\ __ init \ __。py文件mysite dir – okm 2012-04-13 14:53:58

+3

另外,請記住Django Book適用於版本1.0。如果你想遵循1.4的教程,請訪問https://docs.djangoproject.com/en/1.4/ – 2012-04-13 15:01:07

+0

我的第一個mysite文件夾中沒有__init__.py文件。 – Bentley4 2012-04-13 15:57:40

回答

0

簡短的回答是,djangobook不是最新的Django 1.4版本。如果你正確地按照第3章,你會遇到錯誤。某些文件默認在不同版本的django中的不同位置創建。

見:所以暫且 ImportError (djangobook chapter 3, part1, python version 2.7.2)

這是更好地遵循Django文檔。

+0

如果你能以這種方式解決問題,你應該接受你的答案。 – moooeeeep 2012-04-25 11:41:39

1

你的urls.py改成這樣(假設你的應用程序被稱爲應用):

urlpatterns = patterns('', 
    (r'^hello/$', 'app.views.hello'), 
    (r'^time/$', 'app.views.current_datetime'), 
) 

更新:你的項目的基本目錄應孔坦空__init__.py文件了。

+0

我試過這個,還是一樣的錯誤。 – Bentley4 2012-04-13 16:18:31

+0

嘗試在app apps目錄中添加一個空的'__init __。py'文件作爲moooeeeep建議。 – skazhy 2012-04-13 16:30:29