Django ImportError在/无论我做什么

时间:2009-06-15 22:17:11

标签: python django

所以我刚开始玩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'))
)

3 个答案:

答案 0 :(得分:12)

你的urls.py错了;您应该考虑阅读thisthis

您不包含任何功能;你包括一个模块。您命名一个函数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模块。