相关疑难解决方法(0)

获取Django表单中的错误列表

我正在尝试在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; 只输出字段的名称.

python django django-templates django-forms

28
推荐指数
3
解决办法
3万
查看次数

如何在没有 HTML 标签的情况下提取 Django 表单错误消息

我需要提取消息和字段。

例如,我有这个 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)

django django-forms

6
推荐指数
1
解决办法
2739
查看次数

标签 统计

django ×2

django-forms ×2

django-templates ×1

python ×1