2012-03-29 4 views
5

आत्मनिरीक्षण मुझे बताता है कि django फ़ील्ड में "hidden_widget" विशेषता है। हो सकता है कि यह इस विशेषता का उद्देश्य नहीं है, लेकिन इसका अस्तित्व मुझे एक टेम्पलेट में सशर्त रूप से छुपा विजेट प्रस्तुत करने के लिए उपयोग करने के लिए प्रेरित करता है। जैसेक्या टेम्पलेट में django फ़ील्ड के एक छिपे हुए संस्करण को गतिशील रूप से प्रस्तुत करने का कोई तरीका है?

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

लेकिन यह काम नहीं करता। क्या इस तरह छुपा विजेट का उपयोग करना संभव है? मैं क्या खो रहा हूँ?

मुझे पता है मैं गतिशील अपने कस्टम प्रपत्र वर्ग के init में विजेट सशर्त है, जो मैं यह करने के लिए पारित के लिए कुछ कस्टम kwarg के आधार पर निर्धारित करके ऐसा कर सकता है, लेकिन इसके बाद के संस्करण समाधान (गतिशील प्रतिपादन छिपा हुआ टेम्पलेट में विजेट) यदि उपलब्ध हो तो रास्ता आसान होगा।

उत्तर

8

मैं करीब था, लेकिन गलत फ़ंक्शन का उपयोग कर रहा था। जवाब है, जो उन लोगों के लिए रुचि रखते हैं, यह है:

{{ form.my_field.as_hidden }} 
+0

Django स्रोत कोड को देखकर यह पता चल। मुझे यकीन नहीं है कि मैंने इसे कहीं भी दस्तावेज देखा है। अगर कोई ashhidden फ़ंक्शन के लिए किसी प्रकार के दस्तावेज़ के लिंक के साथ कोई उत्तर पोस्ट करता है, तो मैं इसे स्वीकार कर लेता हूं, क्योंकि मैं अपना जवाब स्वीकार नहीं करना चाहता हूं। –

संबंधित मुद्दे