我對Python有一些經驗,但是我對Django和一般的web開發很陌生。初學者Django:定義URL路徑時遇到的問題
我有一個問題,我已經設置了兩個URL,但只有其中一個會被渲染:即URL模式列表中的第一個。 我剛開始,所以基本上,我現在所擁有的只是一個顯示用戶註冊表單的頁面,以及一個基本的「Hello,World」頁面。
根據當前配置並運行開發服務器,我是否轉到URL localhost:8000/mysite
或localhost:8000/registration
我將被帶到註冊表單頁面。如果我在mysite/myapp/urls.py中的urlpatterns列表中顛倒了兩者的順序,那麼這兩個URL都會將我帶到「Hello,World」頁面。
我知道我必須做錯事,但我似乎無法弄清楚。謝謝!
的mysite/MYAPP/urls.py看起來是這樣的:
from django.conf.urls import patterns, url
from myapp import views
urlpatterns = patterns('',
url(r'^$', views.registration, name='registration'),
url(r'^$', views.index, name='index'),
)
我的文件的mysite/urls.py看起來是這樣的:
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^mysite/', include('myapp.urls')),
url(r'^registration/', include('myapp.urls')),
url(r'^admin/', include(admin.site.urls)),
)
和MYAPP /視圖。 py的外觀如下:
from django.shortcuts import render
from django.http import HttpResponseRedirect, HttpResponse
from myapp.forms import UserRegistrationForm
def index(request):
return HttpResponse("Hello, world. You're at the main page for MySite!")
def registration(request):
if request.method == 'POST':
form = UserRegistrationForm(request.POST)
if form.is_valid():
# stuff gets done with form
return HttpResponseRedirect('/registration/')
else:
form = UserRegistrationForm()
return render(request, 'myapp/registration_form.html', {
'form': form,
})
這就是我正在尋找的,謝謝! – wickstopher