如果您的POST請求不應該重新加載相同的頁面,您應該始終重定向(請參閱PRG)。所以我假設你的意思是你想在成功提交時重定向到相同的視圖。
就可以得到當前登錄的用戶與request.user
,所以你可能想嘗試這樣的事:
from django.shortcuts import render, redirect
def some_view(request):
form = SomeForm(request.POST or None)
if form.is_valid():
# do something
return redirect('/accounts/{}'.format(request.user))
return render(request, 'form.html', {'form': form})
但是,它會更好,如果你有一個名爲帳戶URL模式:
現在
url('/accounts/(?P<username>\w+)/$', 'some.view', name='user-home')
,你可以這樣做:
def some_view(request):
form = SomeForm(request.POST or None)
if form.is_valid():
# do something
return redirect('user-home', username=request.user)
return render(request, 'form.html', {'form': form})
偉大的答案。謝謝。 – stephan 2014-12-08 22:08:28