2011-01-16 12 views

उत्तर

86

Using a form in a view काफी कुछ बताता है।

एक दृश्य में एक फार्म के प्रसंस्करण के लिए मानक पैटर्न इस तरह दिखता है:

def contact(request): 
    if request.method == 'POST': # If the form has been submitted... 
     form = ContactForm(request.POST) # A form bound to the POST data 
     if form.is_valid(): # All validation rules pass 
      # Process the data in form.cleaned_data 
      # ... 

      print form.cleaned_data['my_form_field_name'] 

      return HttpResponseRedirect('/thanks/') # Redirect after POST 
    else: 
     form = ContactForm() # An unbound form 

    return render_to_response('contact.html', { 
     'form': form, 
    }) 
+0

उस बाध्य रूप का उदाहरण: 'वर्ग संपर्कफॉर्म (फॉर्म.फॉर्म): my_form_field_name = form.CharField() ' –

21

आप आप के बाद यह कर सकते हैं अपने डेटा को मान्य।

if myform.is_valid(): 
    data = myform.cleaned_data 
    field = data['field'] 

इसके अलावा, django दस्तावेज़ पढ़ें। वे निपुण हैं।

+10

बी 4 के बारे में क्या आप अपना डेटा साफ़ करते हैं? – Sevenearths

+2

अपने डेटा को साफ करने से पहले सभी अनुरोध केवल अनुरोध हैं। पोस्ट जो उदाहरण उदाहरण के साथ संग्रहीत है। सफाई वह है जो पोस्ट फ़ील्ड के साथ पोस्ट डेटा को जोड़ती है। सफाई से पहले आपको अनुरोध के साथ काम करना होगा। पोस्ट। – freb

+0

यदि फॉर्म प्रारंभिक सेट है तो फॉर्म फ़ील्ड का मान प्राप्त करना संभव है? – Fydo

3

मैं django 1.7+ और पायथन 2.7+ का उपयोग करता हूं, खुराक के ऊपर का समाधान काम नहीं करता है। और रूप में इनपुट मूल्य के रूप में नीचे (ऊपर एक ही फार्म का उपयोग करें) उपयोग के बाद मिला जा सकता है:

if form.is_valid(): 
    data = request.POST.get('my_form_field_name') 
    print data 

आशा इस मदद करता है।

21

अपने पिकअप लें:

def my_view(request): 

    if request.method == 'POST': 
     print request.POST.get('my_field') 

     form = MyForm(request.POST) 

     print form['my_field'].value() 
     print form.data['my_field'] 

     if form.is_valid(): 

      print form.cleaned_data['my_field'] 
      print form.instance.my_field 

      form.save() 
      print form.instance.id # now this one can access id/pk 

नोट: क्षेत्र जैसे ही यह उपलब्ध है पहुँचा जा सकता है।

+1

यह उत्तर सबसे अच्छा विकल्प सारांशित करता है - कच्चे POST डेटा, असंबद्ध फॉर्म फ़ील्ड और अंत में मान्य फॉर्म फ़ील्ड तक पहुंच। – DataMania

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