2013-06-03 6 views
5

एकाधिकChoiceField में चेकबॉक्स के लिए लेबल को संशोधित (यानी कक्षाएं जोड़ें या आईडी बदलें) कैसे संशोधित करें?Django एकाधिकChoiceField के लिए चेकबॉक्स लेबल को संशोधित करने के लिए कैसे?

मेरी रूप में मैं इस MultipleChoiceField

questions = forms.MultipleChoiceField(
     required=False, 
     label='', 
     widget=forms.CheckboxSelectMultiple, 
     choices=CHOICES, 
    ) 

है और जब मैं अपने टेम्पलेट में फार्म का उपयोग करें चेक बॉक्स इस तरह उनके आसपास अलग-अलग लेबल के साथ प्रदान की गई हो।

<label for="id_questions_0"> 
    <input type="checkbox" name="questions" value="0"> 
    "the question" 
</label> 

ताकि मैं इसे करने के लिए एक वर्ग को जोड़ने और लेबल की अन्य विशेषताओं को बदल सकते हैं मैं कैसे लेबल संपादित करूं?

+0

आप लेबल के आसपास [के लिए =] टैग विशेषताओं लक्षित कर सकते हैं। क्या इससे मदद मिलेगी? – karthikr

+0

हाँ, लेकिन मैं इसे कहां रखूंगा? आपकी स्टाइलशीट में – bab

+1

। – karthikr

उत्तर

4

आप Widget.attrs, विशेष रूप से उपयोग कर सकते हैं:

questions = forms.MultipleChoiceField(
    required=False, 
    label='', 
    widget=forms.CheckboxSelectMultiple(attrs={'class': 'my-class'}), 
    choices=CHOICES, 
) 

इस रेडियो का चयन करने के my-class लागू होगा। यदि आपको अभी भी label पर श्रेणी जोड़ने की आवश्यकता है, तो आपको customize forms.RadioSelect की आवश्यकता होगी।

+0

जो केवल चेकबॉक्स के लिए कक्षा को बदलता है (जो सहायक बीटीडब्ल्यू है, धन्यवाद) लेकिन मैं चेकबॉक्स के लिए लेबल की कक्षा कैसे बदल सकता हूं? – bab

+0

@ स्टूडेंट उत्तर अपडेट किया गया। – yuwang

+1

मुझे विश्वास है कि एक अनुकूलित विजेट की तुलना में स्टाइलशीट को बदलने के लिए यह अधिक सरल है। – yuwang

0

धन्यवाद, @yuwang, रोमांचित है कि यह भी ModelMultipleChoiceField (जो आप एक से अधिक चेकबॉक्स प्रदर्शित करने के लिए अनुमति देता है) के लिए काम करता है देखने के लिए, जैसा कि आप नीचे देख सकते हैं। ModelMultipleChoiceFields पर बहुत कम दस्तावेज है, इसलिए मैं साझा करना चाहता था।

class ProposedFlagForm(ModelForm): 
    id = CharField(widget=HiddenInput()) 
    crs_sched_proposed_course = CharField(widget=HiddenInput()) 
    enrollment_flag = ModelMultipleChoiceField(required=False, 
               label='', 
               queryset=EnrollmentFlag.objects.all()\ 
                       .exclude(display='')\ 
                       .order_by('display'), 
               widget=CheckboxSelectMultiple) 
    class Meta: 
     model = CrsSchedProposedFlag 
     exclude = ('_updated','_updatedby') 
    #end Meta class 
#end ProposedFlagForm 
संबंधित मुद्दे

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