2012-09-05 11 views
10

पर एक विशेषता जोड़ने के लिए एक विशेषता जोड़ने के लिए कैसे एक WTForms फ़ील्ड ऑब्जेक्ट को कॉल करना प्रस्तुत फ़ील्ड उत्पन्न करता है, और उदाहरण के लिए, कोई भी तर्क विशेषता के रूप में लिया जाता है।WTForms फ़ील्ड

form.field(attribute='value') 

मैं एचटीएमएल 5 कस्टम डेटा जोड़ सकते हैं कैसे इस तरह के गुण डेटा-प्रदान करते हैं जो हाइफ़न होते हैं, किसी एक कीवर्ड को तर्क के रूप में अजगर में उन्हें unparseable बनाने के रूप में

<input attribute='value'> 

की तरह कुछ वापसी होगी?

उत्तर

19

इसी कुंजी-मान जोड़ों के साथ एक शब्दकोश बनाएं और उनका उपयोग ** क्षेत्र कॉल करने के लिए इसे पारित करने के:

attrs = {'data-provide': "foo"} 
form.field(**attrs) 

संपादित: @NiklasB द्वारा टिप्पणी की तरह लग रहा जवाब का हिस्सा होना चाहिए : flaskflask-WTF के साथ उपयोग करने वालों के लिए, अपने टेम्पलेट में {{ form.field(**{'data-provide': 'foo'}) }} का उपयोग करें।

+10

फ्लास्क-डब्ल्यूटीएफ के साथ फ्लास्क का उपयोग करने वालों के लिए, अपने टेम्पलेट –

+0

में {{form.field (** {'डेटा-प्रदान करें': 'foo'})}} के लिए धन्यवाद - भयानक काम। मैंने निम्नलिखित किया: {{form.phone (** {'data-format': '(ddd) ddd-dddd', 'class': 'form-control bfh-phone', 'प्लेसहोल्डर': 'फ़ोन'})}} –

+0

https://stackoverflow.com/questions/20440056/custom-attributes-for-flask-wtforms –

0

फॉर्म में फ़ील्ड का उपयोग करना आवश्यक नहीं है। फ़ील्ड फ़ंक्शन कॉल। ** समारोह के लिए नामित किया गया मापदंडों में आइटम शब्दकोश unpacks, तो बस के बजाय पैरामीटर जोड़:

{{form.field (डेटा-प्रदान करते हैं = 'foo')}}

लेकिन अब के बाद से कोई भी कार्य उस क्षेत्र के लिए आवश्यक पैरामीटर। दूसरे शब्दों में, जब आप पैरामीटर जोड़ सकते हैं तो वहां एक शब्दकोश को अनपैक क्यों करें?

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