ImportError没有名为views的模块

时间:2014-02-25 10:45:17

标签: django

我是Django的新手。我只是配置它并尝试创建一个简单的Hello世界! Web应用程序。我正在逐步完成教程。我运行了命令python django-admin.py startproject mysite,它使用另一个名为mysite的目录和witbh manage.py创建了mysite目录。子目录mysite有 init .py init .pyc settings.py settings.pyc urls.py urls.pyc wsgi.py wsgi.pyc。

在外部mysite目录中,我创建了views.py,其中包含以下代码: -

from django.http import HttpResponse

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

在内部mysite目录中,在urls.py中我有以下代码: -

from django.conf.urls import patterns, include, url
from mysite.views import *

urlpatterns = patterns('',
    url(r'^hello/$', 'mysite.views.hello'),

但是我收到了这个错误: -

ImportError at /hello/

No module named views

Request Method:     GET
Django Version:     1.6.2
Exception Type:     ImportError
Exception Value:    

No module named views

Exception Location:     /data/aman/mysite/mysite/urls.py in <module>, line 2
Python Executable:  /usr/bin/python
Python Version:     2.6.6
Python Path:    

['/data/aman/mysite',
 '/usr/lib64/python26.zip',
 '/usr/lib64/python2.6',
 '/usr/lib64/python2.6/plat-linux2',
 '/usr/lib64/python2.6/lib-tk',
 '/usr/lib64/python2.6/lib-old',
 '/usr/lib64/python2.6/lib-dynload',
 '/usr/lib64/python2.6/site-packages',
 '/usr/lib/python2.6/site-packages']

Server time:    Tue, 25 Feb 2014 10:27:38 +0000

2 个答案:

答案 0 :(得分:4)

尝试将views.py移动到“内部”mysite目录。视图是应用程序的一部分,因此需要将它们移动到应用程序目录中(而不是在项目目录中)。

您收到的错误消息表明mysite(应用程序)没有views.py模块。

答案 1 :(得分:4)

通常,from ... import *尝试此操作不是最佳做法:

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

urlpatterns = patterns('',
    url(r'^hello/$', hello),