django - 如何在 django 中正确显示 form.errors 消息
问题描述
此处使用此代码,表单错误无法正确显示。所有错误消息都说,此字段是必需的。如何在模板中定义我的自定义表单。错误消息。
模板
{% if form.errors %}
{% for field in form %}
{% for error in field.errors %}
<p> {{ error }} </p>
{% endfor %}
{% endfor %}
{% endif %}
<div class="form-group">
<h5>Full Name <span class="text-danger">*</span></h5>
<div class="controls">
<input type="text" name="name" class="form-control" title="Full Name is required" > </div>
</div>
<div class="form-group">
<h5>Courses<span class="text-danger">*</span></h5>
<div class="controls">
{% for course in courses %}
<input name ="courses" type="checkbox" id="course-{{course.id}}" value="{{course.id}}" autofocus title="Please Check at least one course">
<label for="course-{{course.id}}">{{course.title}}</label>
{% endfor %}
</div>
</div>
视图.py
if request.method == 'POST':
form = AddStudentForm(request.POST, request.FILES)
if form.is_valid():
student = form.save(commit=True)
student.save()
messages.success(request, 'student with name {} added.'.format(student.name))
return redirect('admin:add_student')
else:
form = AddStudentForm()
return render(request, 'admin/add_student.html', {'form': form})
解决方案
在您views.py
通过表单时出现这样的错误
if request.method == 'POST':
form = AddStudentForm(request.POST, request.FILES)
if form.is_valid():
student = form.save(commit=True)
student.save()
messages.success(request, 'student with name {} added.'.format(student.name))
return redirect('admin:add_student')
return render(request, 'admin/add_student.html', {'form': form})
else:
form = AddStudentForm()
return render(request, 'admin/add_student.html', {'form': form})
这意味着您应该删除 else 部分并在您的模板代码中
{% if form.errors %}
<div class="alert alert-danger">
{{ form.errors }}
</div>
{% endif %}
首次加载视图时更新了答案以获得正确答案
推荐阅读
- python - 比较 2 个 CSV 文件
- atom-editor - 有没有办法为 Atom 安装瓶子框架?
- python - sklearn DistanceMetrics中的马氏距离得到奇异矩阵错误
- python - 如何使用逗号或管道解析 CSV 文件并读入数据框?
- html - 当边距和填充为0时将DIV居中?
- mysql - 如何从格式化的列日期中获取特定的日期月份或年份
- javascript - Gulp 说实时重新加载正在重新加载,但浏览器没有?
- python - 如何在字典中找到相同的值
- java - 使用 apache poi 和 ooxml-schemas 实现具有 2 列的条形图的最简单方法
- c# - 在 ImageMagick.NET 中将颜色应用于 PDF 转换