我叫我的 「editFamily」 視圖通過HttpResponseRedirect從別的地方:Django:查看POST後的參數?
return HttpResponseRedirect(reverse('editFamily', kwargs={'pk': family_id}))
相應的URL的模式是這樣的:
url(r'^editFamily/(?P<pk>[0-9]+)/$', views.editFamily, name='editFamily')
然後終於有我的觀點:
def editFamily(request, pk_):
obj = models.Family.objects.all().filter(pk=pk_)
if request.method == 'POST':
form = forms.FamilyForm(request.POST, instance=obj)
if form.is_valid():
form.save()
else:
form = forms.FamilyForm(instance=obj)
return render(request, 'editFamily.html', {'form': form})
它需要pk_,結束於else分支並服務於我的編輯-html。但是在觀衆提交他的關於參數pk_的數據之後會發生什麼?我來自POST時是否缺少pk_?我是否必須確保在我的模板中傳遞該參數?
你爲什麼使用pk_?改用pk。 –
因爲「filter(pk = pk)」...對我來說很奇怪,我想避免錯誤。 – user3182532
但你的變量應該與你在urls.py文件中使用的內容相匹配。你可以使用'url(r'^ editFamily /(?P [0-9] +)/ $',views.editFamily,name ='editFamily')'然後'def editFamily(request,id):' –