我正在尝试在Django中创建一个表单.这是有效的,但我希望所有错误都在表单的顶部,而不是在每个有错误的字段旁边.我尝试循环form.errors,但它只显示有错误的字段的名称,而不是错误消息,如"名称是必需的".
这就是我希望能够在表单顶部使用的内容:
{% if form.??? %}
<ul class="errorlist">
{% for error in form.??? %}
<li>{{ error }}</li>
{% endfor %}
</ul>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
我会在???那里使用什么?不是errors; 只输出字段的名称.
我需要提取消息和字段。
例如,我有这个 django 表单错误结果
<ul class="errorlist">
<li>__all__
<ul class="errorlist nonfield">
<li>Pointofsale with this Official receipt and Company already exists.</li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
从这段代码的输出
def post_sale(request):
sale_form = request["data"]
if sale_form.is_valid():
save_form.save()
else:
print save_form.errors
Run Code Online (Sandbox Code Playgroud)
但是我需要实现的是获取没有标签的消息,所以我可以只以纯字符串/文本形式返回这些消息。
def post_sale(request):
sale_form = request["data"]
if sale_form.is_valid():
save_form.save()
else:
# This is just pseudo code
for field in save_form.errors:
field = str(field["field"})
message = str(field["error_message"])
print "Sale Error Detail"
print field
print message
error_message = { 'field':field,'message':message }
error_messages.append(error_message )
Run Code Online (Sandbox Code Playgroud)
输出将是:
Sale Error Detail
(the …Run Code Online (Sandbox Code Playgroud)