2011-06-01 15 views
24

में एक चेकबॉक्स कैसे सम्मिलित करें मेरे पास एक सेटिंग पृष्ठ है जहां उपयोगकर्ता चुन सकते हैं कि वे न्यूजलेटर प्राप्त करना चाहते हैं या नहीं।django फॉर्म

मुझे इसके लिए एक चेकबॉक्स चाहिए, और मैं चाहता हूं कि Django इसे चुनने पर डेटाबेस में 'न्यूजलेटर' सत्य है। मैं Django में कैसे कार्यान्वित कर सकता हूँ?

उत्तर

34

models.py

class Settings(model.Model): 
    receive_newsletter = model.BooleanField() 
    ... 

forms.py

class SettingsForm(forms.ModelForm): 
    receive_newsletter = forms.BooleanField() 

    class Meta: 
     model = Settings 

आप स्वचालित रूप से आप आवेदन में कुछ मानदंड आप में है कि के लिए खाते के अनुसार सही पर receive_newsletter सेट करना चाहते हैं फॉर्म __init__

forms.py

class SettingsForm(forms.ModelForm): 

    receive_newsletter = forms.BooleanField() 

    def __init__(self): 
     if check_something(): 
      self.fields['receive_newsletter'].initial = True 

    class Meta: 
     model = Settings 

बूलियन फॉर्म फील्ड डिफ़ॉल्ट रूप से एक CheckboxInput विजेट का उपयोग करता है।

2

आप अपने फार्म पर एक CheckBoxInput विजेट का उपयोग:

https://docs.djangoproject.com/en/dev/ref/forms/widgets/#django.forms.CheckboxInput

आप सीधे ModelForms उपयोग कर रहे हैं, तो आप सिर्फ अपने मॉडल में एक BooleanField उपयोग करना चाहते हैं।

https://docs.djangoproject.com/en/1.3/ref/models/fields/#booleanfield

0

आप शायद this link on the django docs की तरह एक बूलियन क्षेत्र के लिए देख रहे हैं। आप जिस फॉर्म को सेट अप करना चाहते हैं उसके आधार पर आप शायद a model form to display this का उपयोग करना चाहते हैं।

उम्मीद है कि इससे मदद मिलती है।

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