Tôi có một bộ định tuyến nội tuyến cho một mô hình, có một ràng buộc unique_together. Và như vậy, khi tôi dữ liệu đầu vào, mà không thực hiện đầy đủ chế này, nó sẽ hiển thị:Django: Hiển thị lỗi định dạng chính xác
__all__Please correct the duplicate values below.
Mã, mà thực hiện điều này là:
{% for error in formset.errors %}
{{ error }}<br/>
{% endfor %}
tôi không nhiều giống như số __all__
ở đầu lỗi và rõ ràng là khóa từ điển, vì vậy tôi đã thử:
{% for key, error in formset.errors %}
{{ key }}: {{ error }}<br/>
{% endfor %}
Nhưng sau đó tất cả tôi nhận được là:
__all__:
{{error}} sẽ không hiển thị ở tất cả. Vì vậy, những gì đang xảy ra ở đây? Và làm cách nào để hiển thị lỗi chính xác?
Cảm ơn :) hữu ích. Cách của bạn không hoạt động, nhưng cuối cùng tôi đã làm việc với một sửa đổi nhỏ (errors.values thay vì lỗi), do đó, nó bây giờ trông như thế này: {% cho dict trong formset.errors%} {% cho lỗi trong dict.values%} {{error}} {% endfor%} {% endfor%} –
Vui vì tôi có thể trợ giúp. Tôi đã cập nhật câu trả lời của tôi dựa trên nhận xét của bạn. Dường như vấn đề chính đã gây rối nó trước đó là 'formset.errors' là một danh sách các dicts, không phải là một dict duy nhất. –
Đối với phiên bản hiện tại của django, lặp qua các lỗi trong các mẫu thường không phải là những gì bạn muốn. Kể từ khi OP hỏi ở cuối "... làm thế nào để tôi hiển thị lỗi một cách chính xác?", Tôi sẽ tham khảo các câu trả lời khác không liên quan đến việc lặp qua các lỗi. – dsalaj