gpt4 book ai didi

python - 记住 Django 模型表单上的表单字段值

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:20 25 4
gpt4 key购买 nike

我是 Django 的新手,一直在玩弄 ModelForms。到目前为止,我已经能够轻松地创建 ModelForms。然而,有一个问题似乎让我有点困扰:

当用户填写表单时,如果出现错误(比如 int 而不是 char 或缺少 blank=False 值), 表单吐出错误并且似乎忘记用户在表单验证失败时输入的值。我想知道是否有办法记住这些值,以便用户不必再次输入它们。

目前,我有类似以下内容:

class ContactForm(CreateView):

form_class = ContactForm
template_name = "superform.html"
success_url = '/ty/'

def form_valid(self, form):
# do something useful with validated form
return super(ContactForm, self).form_valid(form)

def form_invalid(self, form):
# do something useful with invalidated form.
return super(ContactForm,self).form_invalid(form)

我假设我需要在 form_invalid 中做一些事情来将值传回表单 - 但我不确定该怎么做(?)。

如果有人能指出正确的方向,我将不胜感激。

谢谢。

----编辑---

            <form class="form" role="form" action="{% url 'coolurl' %}" method="post">{% csrf_token %}

{% if form.non_field_errors %}
<div class="alert">
{% for error in form.non_field_errors %}
<span class="label">Error: {{ error|escape }}</span>
{% endfor %}
</div>
{% endif %}


<div class="form-group">
{% if form.name.errors %}
<div class="alert">
{% for error in form.name.errors %}
<span class="label">Error: {{ error|escape }}</span>
{% endfor %}
</div>
{% endif %}

<label class="col-sm-3" for="id_name">Name:</label>
<div class="col-sm-6">
<input class="form-control"
id="id_name"
type="text"
name="name"
maxlength="128"
placeholder="Your name..">
</div>
</div>

<button type="submit" class="btn btn-success">Submit</button>
</form>

最佳答案

尝试提及input标签的值:

<input class="form-control" 
id="id_name"
type="text"
name="name"
maxlength="128"
value="{{ form.name.value|default_if_none:'' }}"
placeholder="Your name..">
</div>

关于python - 记住 Django 模型表单上的表单字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21678966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com