मेरे पास एक Django रूप है जो इस तरह दिखता है:
class myForm(forms.Form):
email = forms.EmailField(
label="Email",
max_length=254,
required=True,
)
मेरे पास एक संबद्ध क्लास-आधारित फॉर्म व्यू हैनीचे दिखाया गया है। मैं देख सकता हूं कि फॉर्म सफलतापूर्वक डेटा को सत्यापित कर रहा है और प्रवाह नीचे form_valid () विधि में हो रहा है। मुझे यह जानने की ज़रूरत है कि उपयोगकर्ता द्वारा ईमेल फ़ील्ड में सबमिट किए गए मान को कैसे प्राप्त किया जाए। form.fields["email"].value
काम नहीं करता है
class myFormView(FormView):
template_name = "myTemplate.html"
form_class = myForm
success_url = "/blahblahblah"
def form_valid(self, form):
# How Do I get the submitted values of the form fields here?
# I would like to do a log.debug() of the email address?
return super(myFormView, self).form_valid(form)
उत्तर:
उत्तर № 1 के लिए 13आप फॉर्म की जांच कर सकते हैं cleaned_data
विशेषता, जो आपके फ़ील्ड के साथ कुंजी के रूप में कुंजी और मान के रूप में एक शब्दकोश होगा। डॉक्स यहाँ.
उदाहरण:
class myFormView(FormView):
template_name = "myTemplate.html"
form_class = myForm
success_url = "/blahblahblah"
def form_valid(self, form):
email = form.cleaned_data["email"] <--- Add this line to get email value
return super(myFormView, self).form_valid(form)
उत्तर № 2 के लिए 1
इसे इस्तेमाल करे:
form.cleaned_data.get("email")