我有一个模板,一个由modelForm生成的表单:
<body>
<form action="/traitermodificationentrant.html/" method="POST" class="form-horizontal" >
<legend> Modification du courrier numero {{ cemodifier.id}} </legend>
<table>
{{form}}
</table>
<input type="hidden" value="{{ cemodifier.id}}" name="id">
<input type="submit" value="modifier" />
</form>
</body>
</html>
当我按下按钮提交时,视图会处理该处理
def traiter_modif_entrant(request):
if request.method == 'POST':
form = Form_modif_courrier_Entrant(request.POST)
if form.is_valid():
ident = form.cleaned_data['id']
c = Courrier_Entrant.objects.get(id=ident)
c.reference = form.cleaned_data['reference']
c.objet = form.cleaned_data['objet']
c.categorie =form.clneaned_data['categorie']
c.expediteur = form.cleaned_data['expediteur']
c.save()
HttpResponseRedirect('/')
else :
form =Form_modif_courrier_Entrant()
return render_to_response('index.html', RequestContext(request,{}) )
我的问题是表格始终无效
提前感谢!
答案 0 :(得分:0)
也许试试这个:
ident = int(form.cleaned_data['id'])
或者如果不起作用,那么请尝试“pk”:
c = Courrier_Entrant.objects.get(pk=ident)
答案 1 :(得分:0)
您实际上没有将表单传递给模板,因此它永远不会显示,错误也不会显示。视图的最后一行应该是:
return render_to_response('index.html', RequestContext(request,{'form': form}))
或者更好的是,使用render
快捷方式:
return render(request, 'index.html', {'form': form})