任何人都可以帮我解决这个问题。当我尝试访问时,我收到以下错误。
请求方法:GET
请求网址:
使用myproject.urls中定义的URLconf,Django按以下顺序尝试了这些URL模式:
^管理员/
^ myproject / $ [name ='home']
当前的URL与任何这些都不匹配。
你看到这个错误,因为你的Django设置文件中有DEBUG = True。将其更改为False,Django将显示标准的404页面。
urls.py
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
#url(r'^$', 'myproject.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^booking/$', 'booking.views.home', name ='home'),
)
views.py
from django.shortcuts import render
#..
# Create your views here.
def index(request):
return render("Hello, guesthouse!!")
settings.py
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'booking',
)
ROOT_URLCONF = 'myproject.urls'
WSGI_APPLICATION = 'myproject.wsgi.application'
admin.py
from django.contrib import admin
from booking.models import Bookings
# Register your models here.
admin.site.register(Bookings)
谢谢你, 拉德
答案 0 :(得分:4)
你得到404因为' home'在views.py中不存在或者错误地将视图命名为错误。
下面我已将视图名称更改为' home'与urls.py
中指定的视图相匹配<强> views.py 强>
from django.shortcuts import render
def home(request):
"""
home view
"""
return render("Hello, guesthouse!!")
答案 1 :(得分:1)
home
中似乎没有booking.views
功能。
扩展答案:每个URL规范都有几个部分告诉Django如何路由请求。在你的帖子中你有:
url(r'^booking/$', 'booking.views.home', name ='home'),
为了使映射起作用,您需要具有以下功能:
booking.views.home
这里有三个选项,第一个是实现另一个视图功能,第二个是您可以将booking.views.index
重命名为booking.views.home
,第三个是您可以将网址规格更改为以下内容:
url(r'^booking/$', 'booking.views.index', name ='home'),
所有这三个选项都假设您有一个目录结构,如:
|-<project_root_dir>
| |
| |- <project>
| |- booking
| | |- <other files>
| | |- views.py
答案 2 :(得分:0)
您的错误在urls.py中。你的最后一个模式不正确。我认为应该是
url(r'^booking/$', 'booking.views.index'),