[英]Page not found (404) django
誰能幫我解決這個問題。 當我嘗試訪問時,出現以下錯誤。
請求方法:GET請求URL:
Django使用myproject.urls中定義的URLconf,按以下順序嘗試了以下URL模式:^ admin / ^ 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'
管理員
from django.contrib import admin
from booking.models import Bookings
# Register your models here.
admin.site.register(Bookings)
謝謝Rads
您得到404的原因是views.py中不存在“ home”,或者錯誤地將視圖命名為錯誤。
在下面,我已將視圖名稱更改為與您的urls.py中指定的視圖匹配的“ home”
views.py
from django.shortcuts import render
def home(request):
"""
home view
"""
return render("Hello, guesthouse!!")
您在booking.views
似乎沒有home
功能。
擴展的答案:每個URL規范都有兩個部分,它們告訴Django如何路由請求。 在您的帖子中,您有:
url(r'^booking/$', 'booking.views.home', name ='home'),
為了使映射起作用,您需要具有以下功能:
booking.views.home
您在這里有三個選擇,第一個是實現另一個視圖功能,第二個是可以將booking.views.index
重命名為booking.views.home
,第三個是可以將URL規范更改為以下內容:
url(r'^booking/$', 'booking.views.index', name ='home'),
所有這三個選項均假定您具有以下目錄結構:
|-<project_root_dir>
| |
| |- <project>
| |- booking
| | |- <other files>
| | |- views.py
您的錯誤是在urls.py中。 您的上一個模式不正確。 我認為應該
url(r'^booking/$', 'booking.views.index'),
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.