我目前正在學習Django,並且正在嘗試添加表單來註冊用戶。在django中找不到頁面
現在我的問題開始真的很早,因爲每當我嘗試訪問我的註冊頁面時,我都會得到一個404。
我的3個文件如下:
views.py:只是一個Hello World顯示基本
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello World")
def registration(request):
return HttpResponse("Registration page")
urls.py(在我的項目):
from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns = patterns('',
(r'^$', include('myapp.urls')), # index with login/registration
(r'^grappelli/', include('grappelli.urls')), # grappelli URLS
(r'^admin/', include(admin.site.urls)), # admin site
)
最後urls.py(在我的應用程序中):
from django.conf.urls import patterns, url
from myapp import views
urlpatterns = patterns('',
url(r'^$',views.index, name='index'),
url(r'^registration/$',views.registration, name='registration'),
)
當我去我的正常指數(本地主機:8000),它顯示的Hello World我在views.py文件中寫道。但是,當我嘗試去註冊頁面,它只是返回我一個404(本地主機:8000 /註冊)。
現在,正如我所說我仍然在學習這件事,但我不明白爲什麼它不能正常工作。據我瞭解項目文件r'^$'
指向localhost:8000,並在應用程序文件中的相同的正則表達式告訴它加載在這個位置的索引頁。現在當程序仍在localhost:8000中時,應該在localhost:8000/registration右邊加載另一個頁面?
如果你能向我解釋爲什麼這不起作用,以及我在想法中犯了什麼錯誤,這將是非常好的。
這是我的錯誤:
當我把
(r'^randomstringhere/', include('myapp.urls')), # index with login/registration
,而不是
(r'^$', include('myapp.urls')), # index with login/registration
我可以通過本地主機到註冊頁面:8000/randomstringhere /註冊。但網站的目的是有一個選擇,你可以登錄或註冊本地主機:8000(或未來的域名www.randomdomainhere.com)和註冊/登錄表單本地主機:8000 /登錄,本地主機:8000 /註冊(www .randomdomainhere.com /註冊等)
最後使用斜線:localhost:8000/registration /。至少這就是你的正則表達式對URL conf所說的。請參閱Odif Yltsaeb如何解決它的答案。 –