मैं ModelView
पर पढ़ाई कैसे कर सकता हूं?फ्लास्क-एडमिन मॉडल व्यू में रीडोनली टेक्स्ट फ़ील्ड
class MyModelView(BaseModelView):
column_list = ('name', 'last_name', 'email')
मैं ModelView
पर पढ़ाई कैसे कर सकता हूं?फ्लास्क-एडमिन मॉडल व्यू में रीडोनली टेक्स्ट फ़ील्ड
class MyModelView(BaseModelView):
column_list = ('name', 'last_name', 'email')
आप कुप्पी के व्यवस्थापक के बारे में SQLAlchemy मॉडल के साथ बात कर रहे हैं, और आप sqlamodel.ModelView से इनहेरिट द्वारा एक दृश्य घोषणा कर रहे हैं, तो आप सिर्फ करने के लिए इस जोड़ सकते हैं:
<form>
{{ form.example(disabled=True) }}
</form>
आप अपने जिंजा टेम्पलेट में क्षेत्र प्रदान कर रहे हैं, तो बस disabled=true
में पारित अगर WTForms kwarg को नहीं पहचानता है, है, यह सिर्फ यह एचटीएमएल तत्व के लिए एक विशेषता होने के लिए गुजरता है।
class DisabledTextField(TextField):
def __call__(self, *args, **kwargs):
kwargs.setdefault('disabled', True)
return super(DisabledTextField, self).__call__(*args, **kwargs)
इस कोशिश आपकी कक्षा परिभाषा:
class MyModelView(BaseModelView):
column_list = ('name', 'last_name', 'email')
form_widget_args = {
'email':{
'disabled':True
}
}
मेरे पास @ थकांग के उत्तर पर टिप्पणी करने के लिए पर्याप्त प्रतिष्ठा नहीं है, जो मेरे लिए काम करने के बहुत करीब है। disabled
विशेषता POST डेटा से फ़ील्ड को बहिष्कृत करती है, लेकिन readonly
का उपयोग वांछित प्रभाव था।
from wtforms.fields import TextField
class ReadonlyTextField(TextField):
def __call__(self, *args, **kwargs):
kwargs.setdefault('readonly', True)
return super(ReadonlyTextField, self).__call__(*args, **kwargs)
क्या इसे फ़ॉलो करने का कोई तरीका है? form_widget_args = { 'type_values': { 'केवल पढ़ने के लिए': 'केवल पढ़ने के लिए' } } –
लॉरेंस, मैं क्षेत्र के रूप में आप केवल पढ़ने के लिए होना चाहता हूँ एक ही नाम के रूप में form_extra_fields में निर्दिष्ट करना होगा और यह इस क्षेत्र को पार कर जाएगी। – pip
i.e. form_overrides = dict (your_field_name = ReadonlyTextField) या संभवतः form_extra_fields = dict (your_field_name = ReadonlyTextField ('लेबल', ...)) – pip
मैं जब मैं टेक्स्ट फ़ील्ड के लिए disabled
का उपयोग करने की कोशिश की अजीब त्रुटियों मिला, तो मैं readonly
बजाय प्रयोग किया:
class MyModelView(BaseModelView):
column_list = ('name', 'last_name', 'email')
form_widget_args = {
'email':{
'readonly':True
}
}
यह तुम क्या चाहते हो सकता है। मैंने इसे कार्यान्वित किया लेकिन ध्यान दिया कि जिन क्षेत्रों को अक्षम किया गया था उन्हें ** जमा करने पर ** मंजूरी दे दी गई थी। जब मैंने इसके बजाय 'readonly' का उपयोग किया, तो मुझे अपेक्षित व्यवहार मिला (मान परिवर्तित नहीं होता है)। – Ian