Default form size for WTForms -


मुझे कम से कम आकार = 50 होना चाहिए, और मेरे पास html में है:

  {{form.name (size = 50)}}   

हालांकि, प्रत्येक पृष्ठ के लिए मेरे पास 10 फ़ॉर्म हैं, क्या यह किसी भी तरह से है कि मैं इस बेमानी को अनदेखा कर सकता हूं रास्ता और आसपास काम? (बिना आकार = 50)

धन्यवाद

कई तरीके हैं यह पूरा कर लें कि आप अपनी चेन में कहां से निपटना चाहते हैं। लेकिन मुझे लगता है कि टेम्पलेटिंग परत है, जहां आपको इसे हल करना चाहिए, क्योंकि आप जो चाहते हैं वह शुद्ध प्रस्तुति है।

मान लें कि आप जिन्जा 2 का प्रयोग कर रहे हैं, आप एक छोटा मैक्रो लिख सकते हैं जो आकार प्रत्येक क्षेत्र का कीवर्ड तर्क जो आप रेंडर करना चाहते हैं:

मैक्रो:

  {% macro render_field (फ़ील्ड) -%} {% if field.type! = ' HiddenField '%} & lt; = "{{field.id}}" के लिए लेबल & gt; {{field.label}} & lt; / label & gt; {{फ़ील्ड (आकार = 50, ** kwargs)}} {% endif%} {% - endmacro%}   

फ़ील्ड कॉल में नोट करें मैं इसे आकार <प्रीसेट करें से 50

अगला, क्षेत्र को प्रस्तुत करने के लिए, आप इस मैक्रो को फ़ील्ड नाम (इस कोड में some_field ) के साथ कॉल करते हैं: / P>

  {{render_field (form.some_field)}}   

यह मान रहा है कि आप एक ही टेम्पलेट फ़ाइल में मैक्रो और फ़ील्ड रेंडर कोड डालते हैं। बड़े टेम्पलेट्स के लिए, आपके मैक्रोज़ को विभाजित करने और कोड को अलग-अलग फ़ाइलों में रेंडर करने की अनुशंसा की जाती है कॉन्फ्रेंस के अनुसार मैक्रोज़ "_हेल्पर" फाइल में आते हैं।

यदि आप इस मैक्रो को "form_helper.html" नामक फ़ाइल में रखते हैं, उदाहरण के लिए, आपको पहले इस फ़ाइल को टेम्पलेट में आयात करने की आवश्यकता है जिसमें आपका वास्तविक फ़ील्ड रेंडरिंग कोड:

  {% import} form_helper.html 'form_helper%} के रूप में   

अब आपके सभी मैक्रोज़ form_helper.html < / कोड> form_helper नाम स्थान में उपलब्ध हैं। आपका फ़ील्ड रेंडरिंग कोड इस प्रकार बन जाएगा:

  {{form_helper.render_field (form.some_field)}}    

Comments