Я знаю, что это простой вопрос, я просто ничего не понимаю ... так что спасибо за ваше терпение и совет.
У меня есть вид, который просит пользователя зарегистрироваться, чтобы использовать наше приложение. Данные, которые он / она представляет, хранятся в базе данных и отправляются на другую страницу для настройки приложения:
#views.py
def regPage(request, id=None):
form = RegForm(request.POST or None,
instance=id and UserRegistration.objects.get(id=id))
# Save new/edited pick
if request.method == 'POST' and form.is_valid():
form.save()
return HttpResponseRedirect('/dev/leaguepage/')
user_info = UserRegistration.objects.all()
context = {
'form':form,
'user_info' :user_info,
}
return render(request, 'regpage.html', context)
Вместо того, чтобы отправлять ВСЕХ пользователей на одну и ту же страницу '/ dev / leaguepage /', мне нужно отправить каждого пользователя на его собственную страницу, основанную на PK в базе данных, например: '/ dev / PrimaryKey /' Я не уверен как это сделать либо в файле представлений, либо в файле URLs.py:
#urls.py
from django.conf.urls.defaults import patterns, include, url
from acme.dc_django import views
urlpatterns = patterns('',
url(r'^leaguepage/$','acme.dc_django.views.leaguePage'),
url(r'^$', 'acme.dc_django.views.regPage'),
)
Спасибо за вашу помощь!
дп
Обновленный код:
#url
url(r'^user/(?P<id>\d+)/$','acme.dc_django.views.leaguePage', name="league_page"),
#view
def regPage(request, id):
form = RegForm(request.POST)
# Save new/edited pick
if request.method == 'POST' and form.is_valid():
form.save()
return HttpResponseRedirect(reverse('league_page', kwargs={'id' :id}))
#return HttpResponseRedirect('/dev/leaguepage/')
user_info = UserRegistration.objects.all()
context = {
'form':form,
'user_info' :user_info,
}
return render(request, 'regpage.html', context)