जवाबों:
किसी दृश्य में किसी प्रपत्र का उपयोग करना उसे बहुत समझाता है।
किसी दृश्य में फ़ॉर्म को संसाधित करने का मानक पैटर्न इस तरह दिखता है:
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,
})
अपना चयन ले लो:
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
नोट: यह उपलब्ध होते ही फ़ील्ड एक्सेस हो जाती है।
form['my_field'].value()
पीएसटी अनुरोध पर फॉर्म वैल्यू तक पहुंचने के लिए यह बहुत ही सरल उपाय खोजने में मुझे एक घंटे का समय लगा । कुछ दिन: |
अपने डेटा को मान्य करने के बाद आप ऐसा कर सकते हैं।
if myform.is_valid():
data = myform.cleaned_data
field = data['field']
इसके अलावा, django डॉक्स पढ़ें। वे निपुण हैं।
प्रपत्र से डेटा पुनर्प्राप्त करने के लिए जो पोस्ट अनुरोध भेजते हैं आप इसे इस तरह से कर सकते हैं
def login_view(request):
if(request.POST):
login_data = request.POST.dict()
username = login_data.get("username")
password = login_data.get("password")
user_type = login_data.get("user_type")
print(user_type, username, password)
return HttpResponse("This is a post request")
else:
return render(request, "base.html")
मैं django 1.7+ और python 2.7+ का उपयोग करता हूं, खुराक से ऊपर का समाधान काम नहीं करता है। और फॉर्म में इनपुट मूल्य नीचे के रूप में उपयोग पीओएसटी प्राप्त किया जा सकता है (ऊपर समान रूप का उपयोग करें):
if form.is_valid():
data = request.POST.get('my_form_field_name')
print data
उम्मीद है की यह मदद करेगा।
class ContactForm(forms.Form): my_form_field_name = forms.CharField()