我正在进入django的世界并遵循Tango with Django的教程。但是,当我尝试创建基本view
时,我一直收到404页面未找到错误。
我使用django-admin.py
命令创建了一个名为Project
的文件夹。这反过来又有一个相同名称的文件夹(这里称为subProject以避免混淆)和manage.py
文件。子项目有文件
1.init.py
2.settings.py
3.urls.py
4.wsgi.py
然后我在Project中创建了一个名为rango
的app文件夹。 Rango有init.py, views,py, tests.py models.py and views.py
个文件。
我只编辑了views
和urls
文件。它们如下:
/rango/views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello World")
/rango.urls.py
from django.conf.urls import patterns, url
from rango import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index'))
然后我编辑了子项目中的urls.py
from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'project.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^rango/', include('rango.urls')),
)
我在设置文件中添加了add。但是,当我执行python manage.py runserver
并转到项目网址时,它会显示
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/
Using the URLconf defined in project.urls, Django tried these URL patterns, in this order:
^admin/
^rango/
The current URL, , didn't match any of these.
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.
我按照原样遵循了教程。究竟是什么问题?
答案 0 :(得分:3)
因为您还没有在urls.py中指定根网址
您可以访问
http://127.0.0.1:8000/rango
但不是http://127.0.0.1:8000/
。要访问根URL,
将url(r'^$', 'rango.views.index', name='index')
放入urls.py
答案 1 :(得分:0)
我遇到了同样的问题。我认为您需要 HTML 文件才能在线访问它。例如,在 Eric Matthes 的 Learning Log 项目中,您必须制作 HTML“主题”文件才能执行 localhost:8000/topic/1