ImportError 没有名为视图的模块
Posted
技术标签:
【中文标题】ImportError 没有名为视图的模块【英文标题】:ImportError No module named views 【发布时间】:2014-03-27 12:49:02 【问题描述】:我对 Django 很陌生。我刚刚对其进行了配置并尝试创建一个简单的 Hello 世界! Web应用程序。我正在一步一步地学习教程。我运行了命令 python django-admin.py startproject mysite,它创建了 mysite 目录,其中包含另一个名为 mysite 的目录以及与 manage.py 一起。子目录 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
【问题讨论】:
【参考方案1】:尝试将views.py
移动到“内部”mysite 目录。视图是应用程序的一部分,因此需要将它们移动到应用程序目录中(而不是项目目录中)。
您收到的错误消息表明mysite
(应用程序)没有views.py
模块。
【讨论】:
小心,“我的网站”不是应用程序。它是项目文件夹的内部文件夹。在官方 Django 教程中,“polls”是应用文件夹。【参考方案2】:通常最好不要这样做 from ... import *
试试这个:
from django.conf.urls import patterns, include, url
from mysite.views import hello
urlpatterns = patterns('',
url(r'^hello/$', hello),
【讨论】:
以上是关于ImportError 没有名为视图的模块的主要内容,如果未能解决你的问题,请参考以下文章
ImportError:没有名为 ghostscript 的模块
ImportError:没有名为 pynotify 的模块。安装模块时