2013-04-11 57 views
5

我的工作,通过“Django的书”,我不断收到错误“不能导入名称的current_datetime”Django的错误:无法导入名称的current_datetime

Urls.py:

from django.conf.urls.defaults import patterns, include, url 
from mysite.views import current_datetime, hello 

urlpatterns = patterns('', 
    ('^hello/$', hello), 
    ('^time/$', current_datetime), 
    (r'^time/plus/(\d{1,2})/$', hours_ahead), 
) 

我的看法。潘岳:

from django.http import HttpResponse 
import datetime 

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) 

我的工作目录:

./mysite: 
__init__.py manage.py mysite  views.py 

不管我做什么,我会得到相同的进口错误urls.py线2条,关于CURRENT_TIME:

Environment: 


Request Method: GET 
Request URL: http://localhost:8000/ 

Django Version: 1.5.1 
Python Version: 2.7.3 
Installed Applications: 
('django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.staticfiles') 
Installed Middleware: 
('django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware') 


Traceback: 
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py" in get_response 
    103.      resolver_match = resolver.resolve(request.path_info) 
File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in resolve 
    319.    for pattern in self.url_patterns: 
File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in url_patterns 
    347.   patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) 
File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in urlconf_module 
    342.    self._urlconf_module = import_module(self.urlconf_name) 
File "/Library/Python/2.7/site-packages/django/utils/importlib.py" in import_module 
    35.  __import__(name) 
File "/Users/jvieitez/Code/djcode/mysite/mysite/urls.py" in <module> 
    2. from mysite.views import hello, current_datetime, hours_ahead 

Exception Type: ImportError at/
Exception Value: cannot import name current_datetime 
+0

只是说同样的事情,缩进不正确 – 2013-04-11 21:09:07

+0

你介意告诉我它应该是什么样子?我直接从http://www.djangobook.com/zh/2.0/chapter03.html复制它谢谢! – Jvieitez 2013-04-11 21:42:26

+0

什么是mysite文件夹中的mysite?它也是一个文件夹?如果是这样,它是否包含'__init __。py'? – nymk 2013-04-11 21:48:19

回答

6

某处有问题,你的工作目录。 manage.py和views.py不应位于相同的目录中。我建议将内部的mysite重命名为其他内容,这样可以避免混淆,并且views.py应该位于mysite目录的内部。你说

from mysite.views import current_datetime, hello 

但是views.py不在mysite目录中。那就是问题所在。

+0

Bam!解决了!这是问题所在。非常感谢! 我正在编辑位于外部'mysite'文件夹中的'views.py',而不是其中包含的另一个'mysite'文件夹。我一定要重新命名它们。谢谢! – Jvieitez 2013-04-11 23:34:08

相关问题