0

我正在尝试完成您的第二个视图: Djangobook 第 3 章的动态内容。

当我粘贴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),
)

这里出了什么问题?


(添加到原始帖子:)(编辑 1)我的目录结构。(与当前工作目录/home/name/Desktop/sc/mysite

name@name-Studio-1558:~/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

(编辑 2)我从头开始使用名称mysite2而不是mysite,我什至无法让第一部分工作:Hello World。': ImportError(djangobook 第 3 章,第 1 部分,python 版本 2.7.2 )

在我更改脚本中的某些内容以使其工作之前,但我无法重新创建我之前所做的事情。

4

2 回答 2

1

将您的 urls.py 更改为此(假设您的应用程序称为app)。:

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

更新:项目的基本目录也应该包含一个空__init__.py文件。

于 2012-04-13T14:52:42.240 回答
0

简短的回答是 djangobook 对于 django 1.4 版不是最新的。如果您正确遵循第 3 章,您将遇到错误。默认情况下,某些文件在不同版本的 django 中创建在不同的位置。

请参阅: ImportError(djangobook 第 3 章,第 1 部分,python 版本 2.7.2)

所以暂时最好遵循 django 文档。

于 2012-04-14T15:02:36.303 回答