フォームを送信して何らかの理由で検証されないと、フォームはすべて空白になります。私は完全なフォームをレンダリングするために{{form}}を使用していません。私は他の人にそれをカスタマイズさせたいと思います。Django - フォームの検証後にフォームの値を保持する
これは、フォームの一部です:
<form method="post" action="" enctype="multipart/form-data">{% csrf_token %}
<div class="panel panel-default">
<div class = "panel-heading">
Informações de Contato
</div>
<div class = "panel-body">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
<input type="text" class="form-control"
id="id_{{ anuncioForm.nome_contato.name }}"
name="{{ anuncioForm.nome_contato.name }}"
value= "{{ request.user.first_name }} {{request.user.last_name}}"
placeholder="Nome">
</div>
<p class="help-text">{{ anuncioForm.nome_contato.help_text }} </p>
<br>
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-envelope"></i></span>
<input type="text" class="form-control"
id="id_{{ anuncioForm.email_contato.name }}"
name="{{ anuncioForm.email_contato.name }}"
value="{{ request.user.email }} "
placeholder="E-mail">
</div>
<p class="help-text">{{ anuncioForm.email_contato.help_text }} </p>
<br>
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-glyphicon glyphicon-phone"></i></span>
<input type="text" class="form-control"
id="id_{{ anuncioForm.telefone_contato.name }}"
name="{{ anuncioForm.telefone_contato.name }}"
placeholder="Telefone ou Celular">
</div>
<p class="help-text">{{ anuncioForm.telefone_contato.help_text }} </p>
</div>
</div>
このview.py
def anunciar_imovel(request):
ImageFormSet = modelformset_factory(ImagensAnuncio,
form=ImagensForm, extra=3)
if request.method == 'POST':
anuncioForm = AnuncioForm(request.POST, request.FILES)
formset = ImageFormSet(request.POST, request.FILES,
queryset=ImagensAnuncio.objects.none())
if anuncioForm.is_valid() and formset.is_valid():
novo_anuncio = anuncioForm.save(commit=False)
novo_anuncio.user = request.user
novo_anuncio.save()
for form in formset.cleaned_data:
imagem = form['imagem']
photo = ImagensAnuncio(anuncio=novo_anuncio, imagem=imagem)
photo.save()
return render(request, 'account/index.html')
else:
anuncioForm = AnuncioForm()
formset = ImageFormSet(queryset=ImagensAnuncio.objects.none())
return render(request, 'imoveis/anunciar.html', {'anuncioForm':anuncioForm,'formset':formset })
私は満たされた値を保つために何ができますか?
あなたのコードにはあなたが探しているバハビールがあります。 – e4c5
値はテストでしたが、正しいアプローチであるかどうかはわかりませんでした...ありがとう –