所以我刚开始玩Django,我决定尝试一下我的服务器。所以我按照Djangoproject.com教程中概述的基础知识安装了Django并创建了一个新项目
不幸的是,无论我做什么,我都无法获得工作的意见:我经常得到
ImportError at /
No module named index
Here是此错误的屏幕截图
我一直在谷歌搜索和尝试各种命令,没有运气,我真的要撕掉我的头发,直到我变成秃头。我已经尝试将django源目录,我的项目目录和app目录添加到PYTHONPATH而没有运气。我还确保 init .py在所有目录中(包括项目和应用程序)是否有人知道这里可能出现的问题?
更新
对不起,我发布这篇文章的时候很匆忙,这里有一些背景知识:
我一直在尝试的服务器只是django的内置服务器使用manage.py(python manage.py 0.0.0.0:8000,因为我需要在外部访问它)在linux上(debian)
APPDIR / views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Sup")
def test(request):
return HttpRespons("heyo")
urls.py
from django.conf.urls.defaults import *
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Example:
# (r'^****/', include('****.foo.urls')),
# Uncomment the admin/doc line below and add 'django.contrib.admindocs'
# to INSTALLED_APPS to enable admin documentation:
# (r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
(r'^admin/', include(admin.site.urls)),
(r'^test/', include('mecore.views.test')),
(r'^', include('mecore.views.index'))
)
答案 0 :(得分:12)
您不包含任何功能;你包括一个模块。您命名一个函数mecore.views.index
。您只包含整个模块include('mecore.views')
。
from django.conf.urls.defaults import *
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Example:
# (r'^****/', include('****.foo.urls')),
# Uncomment the admin/doc line below and add 'django.contrib.admindocs'
# to INSTALLED_APPS to enable admin documentation:
# (r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
(r'^admin/', include(admin.site.urls)),
(r'^test/', 'mecore.views.test'),
(r'^', 'mecore.views.index')
)
答案 1 :(得分:3)
您是否在每个mecore和views目录中都有__init__.py
,在视图中是否有index.py?
从Python的角度来看,目录是一个包,只有它有一个名为__init__.py
的文件(它可能是空的,如果在导入该包时不需要执行任何特殊代码,但它必须在那里。)
编辑:请注意,在include
中,您必须将模块的python路径命名为一个函数,而不是函数:请参阅Django's relevant docs - 根据您的评论判断您似乎误用了{{1}正如我看到@ S.Lott在他的回答中所推测的那样。
答案 2 :(得分:-1)
来自ImportError No module named views:
尝试将
views.py
移动到“内部”mysite目录。视图是应用程序的一部分,因此需要将它们移动到应用程序目录中(而不是在项目目录中)。您收到的错误消息表明
mysite
(应用程序)没有views.py
模块。