2012-03-29 23 views
5

Introspection cho tôi biết rằng các trường django có thuộc tính "hidden_widget". Có lẽ nó không phải là mục đích của thuộc tính này, nhưng sự tồn tại của nó chỉ cho tôi sử dụng nó trong một khuôn mẫu để có điều kiện làm cho một widget ẩn. ví dụ:Có cách nào để tự động hiển thị phiên bản ẩn của trường django trong mẫu không?

{% if some condition %} 
    {{ form.my_field }} 
{% else %} 
    {{ form.my_field.hidden_widget }} 
{% endif %} 

Nhưng điều này không hiệu quả. Có thể sử dụng tiện ích ẩn theo cách này không? Tôi đang thiếu gì?

Tôi nhận ra rằng mình có thể thực hiện điều này bằng cách tự động đặt tiện ích con trong init của lớp Biểu mẫu tùy chỉnh của tôi dựa trên một số kwarg tùy chỉnh cho điều kiện. tiện ích trong mẫu) sẽ đơn giản hơn nếu có.

Trả lời

8

Tôi đã đóng, nhưng sử dụng chức năng sai. Câu trả lời, cho những người quan tâm, là:

{{ form.my_field.as_hidden }} 
+0

Đã tìm ra điều này bằng cách xem mã nguồn Django. Tôi không chắc liệu tôi có thấy tài liệu này ở bất cứ nơi nào không. Nếu ai đó đăng câu trả lời với một liên kết đến một số loại tài liệu cho hàm as_hidden, tôi sẽ đánh dấu nó là đã chấp nhận, vì tôi không muốn chấp nhận câu trả lời của riêng tôi. –

Các vấn đề liên quan