为什么Django不加载我的视图

2 投票
4 回答
716 浏览
提问于 2025-04-16 07:20

我在尝试加载网站时遇到了“页面未找到”的错误。(127.0.0.1:8000/catalog/)

这是我的urls.py文件

urlpatterns = patterns('',
(r'^catalog/$', 'preview.views.home'),
# Example:
# (r'^ecomstore/', include('ecomstore.foo.urls')),

# Uncomment the admin/doc line below 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)),    
)

在包的预览中,我的views.py文件是这样的

from django.shortcuts import render_to_response

# Create your views here.
def home(request):
    return render_to_response("index.html")

“index.html”文件在ecomstore/templates文件夹里,变量TEMPLATE_DIRS已经设置为这个目录。

奇怪的是,我没有看到任何调试信息,但DEBUG变量已经设置为true。有没有人知道出了什么问题?

4 个回答

0

这是你的根目录(项目级别)的 URL 配置吗?还是来自你某个应用的?如果是来自某个应用,是否已经正确地从根目录的 URL 配置中引入了它?

我问这个是因为你展示的代码应该是可以工作的,前提是 Django 确实在读取它。

还有一个想法:在那个视图中有没有什么东西引发了 Http404 异常?无论是直接引发的,还是通过 get_object_or_404 引发的?

我也支持上面的请求,建议分享完整的错误追踪信息。

0

作为一种解决方法,你可以试试这个链接:http://localhost:8000/catalog/

今天早上我在我的Windows XP电脑上遇到了同样的问题。当我把地址从127.0.0.1换成localhost时,它就开始正常工作了。不过我还是搞不清楚之前是怎么让它不工作的。

0

你的 TEMPLATE_DIRSsettings.py 文件里是什么样子的?还有,你的 index.html 文件在电脑上的哪个路径?你希望它能被加载和显示出来。听起来像是系统在找 index.html,但是找不到。不过没有调试信息的话,很难判断具体问题出在哪里。

撰写回答