0

我第一次遇到这个问题,这很令人困惑。我刚刚建立了新的 django 项目,就像我做的 > 10 次。但是这次不知何故,一旦我启动项目并打开本地主机,我就会收到奇怪的错误:

ViewDoesNotExist at /
Could not import avicenna.home.views. Parent module avicenna.home does not exist.

avicenna 是我的项目名称。和 home 是应用程序名称..

这是我的 urls.py:

from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
  url(r'^$', 'avicenna.home.views', name='home'),
  url(r'^admin/', include(admin.site.urls)),
)

这是我的观点:

from django.template import RequestContext
from django.shortcuts import render_to_response

def home(request):
   return render_to_response('index.html',{},context_instance=RequestContext(request))

这里有什么问题?这是项目的结构

在此处输入图像描述

4

1 回答 1

2

可能你需要改变这个:

url(r'^$', 'avicenna.home.views', name='home'),

url(r'^$', 'home.views.home', name='home'),

因此,根据您更新的帖子:链接到avicenna.home.views是不够的,您需要告诉您要引用哪个视图。或者,更改您的 url 模式,如下所示:

urlpatterns = patterns('home.views',
  url(r'^$', 'home', name='home'),
  url(r'^admin/', include(admin.site.urls)),
)

但无论如何,您需要告诉 django 应该为每个 url 模式调用什么视图。此外,manage.py已经在您的avicenna应用程序中;如果你输入avicenna.home...,django 会在你的第三个 avicenna 文件夹中寻找一个模块,但你希望它在你的裸模块home中寻找视图。home

不确定这是否完全解决了您的问题,但似乎还有其他问题(home已在您安装的应用程序中注册?)

于 2013-06-27T09:46:45.073 回答