Here they say it's not supported out of the box.WTForms इनपुट रीडोनली विशेषता के लिए समर्थन करते हैं?
क्या आप HTML इनपुट फॉर्म फ़ील्ड को WTForms के साथ 'readonly' विशेषता का उपयोग करने का तरीका जानते हैं?
Here they say it's not supported out of the box.WTForms इनपुट रीडोनली विशेषता के लिए समर्थन करते हैं?
क्या आप HTML इनपुट फॉर्म फ़ील्ड को WTForms के साथ 'readonly' विशेषता का उपयोग करने का तरीका जानते हैं?
मुझे लगता है कि आप HTML/XHTML में <input readonly>
विशेषता के बारे में बात कर रहे हैं, जो कि आपके द्वारा लिंक किए गए चर्चा थ्रेड के बारे में नहीं है। (लिंक्ड थ्रेड पास किए गए फॉर्म इनपुट को अनदेखा करने के तरीके के साथ निम्न स्तर के मुद्दे के बारे में है)
एक पाठक विशेषता (और वास्तव में किसी फ़ील्ड पर कोई विशेषता) सेट करने का तरीका आपके टेम्पलेट में एक कीवर्ड-तर्क के रूप में है। यदि जिंजा का उपयोग कर, यह (एचटीएमएल 5) की तरह दिखता है:
{{ form.myfield(readonly=true) }}
और एक्सएचटीएमएल या 0.6.3 से अधिक उम्र के WTForms के संस्करणों के लिए:
{{ form.myfield(readonly="readonly") }}
बस ध्यान दें कि 'केवल पढ़ने के लिए' विशेषता केवल एक संकेत है ब्राउज़र पर, और इसका कोई प्रभाव नहीं पड़ता कि उपयोगकर्ता क्या सबमिट करता है। ऐसा कहने के लिए, एक दुर्भावनापूर्ण उपयोगकर्ता (या कोई कस्टम जेएस ए ला greasemonkey या एक जेएस कंसोल या एक डोम पेड़ के साथ ब्राउज़र का उपयोग कर रहा है) एक POST अनुरोध उत्पन्न कर सकता है इस पर ध्यान दिए बिना कि पाठक विशेषता पर सेट किया गया है इनपुट टैग
इस कारण से, केवल पढ़ने के लिए उपयोगकर्ता उपयोगकर्ता अनुभव को संशोधित करने के विकल्प के रूप में उपयोगी है (उदाहरण के लिए, जेएस का उपयोग करके कुछ घटना/क्रिया के आधार पर फ़ील्ड को अक्षम करना) और 'रीडोनली' फ़ील्ड से आने वाला इनपुट नहीं है किसी अन्य फॉर्म इनपुट से अधिक भरोसेमंद।
https://wtforms-components.readthedocs.org/en/latest/#
from wtforms import Form, DateField, TextField
from wtforms_components import TimeField, read_only
class EventForm(Form):
name = TextField('Name')
start_date = DateField('Start date')
start_time = TimeField('Start time')
def __init__(self, *args, **kwargs):
super(EventForm, self).__init__(*args, **kwargs)
read_only(self.name)
समाधान फॉर्म फील्ड घोषणा में render_kw
उपयोग कर रहा है।
my_field = fields.StringField('Label', render_kw={'readonly': True})
और, यदि आप इसे Jinja2 से एक्सेस करना चाहते हैं, तो आप यह कर सकते हैं: {% अगर form.my_field.render_kw.readonly} रीडोनली ब्लैब्ला {% endif%} – techniao
यह थोड़ा मूर्खतापूर्ण लगता है कि आप इन्हें विजेट के रूप में या कुछ रूप में जब आप अपना फॉर्म घोषित कर रहे हैं तो इसे पास नहीं कर सकते हैं। – coleifer