【发布时间】:2021-06-22 21:00:48
【问题描述】:
我对表单和 Django 有一些问题。 我想从模型中做一个自定义(列和样式)表单。但是经过几个小时的尝试,我认为这是不可能的。 所以我决定不创建forms.ModelForm,而是创建forms.Form,以便自定义我的表单。但是这样我就无法保留验证... 我尝试的最后一件事是,它在模板文件中手动编写验证,它可以工作,但是当我提交错误的表单时,当它刷新时,所有数据都是松散的,我只看到错误消息...... 所以它让我发疯......我只是想用 django 做一个漂亮的表格...... 提前致谢
forms.py
class PatienceForm(forms.ModelForm):
class Meta:
model = Patience
fields = ('nom', 'prenom', 'age', 'email')
模板.html
<form method="POST" accept-charset="utf-8">
{% csrf_token %}
<p><label for="id_nom">Nom :</label> <input type="text" name="nom" maxlength="200" required id="id_nom"></p>
<p><label for="id_prenom">Prenom :</label> <input type="text" name="prenom" maxlength="200" required id="id_prenom"></p>
<p><label for="id_age">Age :</label> <input type="number" name="age" required id="id_age"></p>
<p><label for="id_email">Email :</label> <input type="email" name="email" maxlength="254" required id="id_email"></p>
{% for err in form.email.errors %}
{{err}}
{% endfor %}
<button type="submit" class="save btn btn-default">Save</button>
视图.py
def post_essaie(request):
if request.method == "POST":
form = PatienceForm(request.POST)
if form.is_valid():
logging.info('Hello')
post = form.save(commit=False)
post.published_date = timezone.now()
post.save()
return render(request, 'blog/succes.html')
return render(request, 'blog/teste.html', {'form': form})
else:
form = PatienceForm()
return render(request, 'blog/teste.html', {'form': form})
提前感谢您的帮助
【问题讨论】:
-
所以,据我了解,您想设置表单样式,对吧?
-
是的,没错!