में अनुरोध डेटा प्राप्त करें क्या फ़ॉर्म फॉर्म में request.user डेटा प्राप्त करना संभव है? मैं यह सुनिश्चित करने के लिए एक ईमेल पता साफ़ करना चाहता हूं कि यह अद्वितीय है, लेकिन यदि यह वर्तमान उपयोगकर्ता ईमेल पता है तो इसे पास करना चाहिए।Django फॉर्म
यह वही है जो मेरे पास वर्तमान में है जो नए उपयोगकर्ताओं को बनाने के लिए बहुत अच्छा काम करता है, लेकिन यदि मैं किसी उपयोगकर्ता को संपादित करना चाहता हूं तो मैं अपने ईमेल की समस्या में भाग लेना चाहता हूं, क्योंकि यह पहले से ही लिया जा रहा है। अगर मैं जांच सकता हूं कि यह request.user.email का उपयोग कर उनका ईमेल है तो मैं अपनी समस्या का समाधान कर पाऊंगा, लेकिन मुझे यकीन नहीं है कि यह कैसे करें।
class editUserForm(forms.Form):
email_address = forms.EmailField(widget=forms.TextInput(attrs={'class':'required'}))
def clean_email_address(self):
this_email = self.cleaned_data['email_address']
test = UserProfiles.objects.filter(email = this_email)
if len(test)>0:
raise ValidationError("A user with that email already exists.")
else:
return this_email
कोड इस उदाहरण में मेरे उत्तर में बेहतर है, इसलिए मैंने इसे हटा दिया और इसे हटा दिया, हालांकि आप clean_email_address विधि में अगर खंड में == के बजाय == चाहते हैं। – Prairiedogg
फिक्स्ड। इसे पकड़ने के लिए धन्यवाद :) – elo80ka
> ध्यान दें कि आपको अनुरोध पास करना चाहिए। एक कीवर्ड तर्क के रूप में पोस्ट करें, क्योंकि आपका कन्स्ट्रक्टर 'उपयोगकर्ता' को पहले स्थानगत तर्क के रूप में अपेक्षा करता है। यह विशेष रूप से आपको ** शब्द के साथ कुंजी-शब्द (यानी, वैकल्पिक) तर्कों को मिश्रण नहीं करना चाहिए। इसके बजाए, निर्माता के पास उपयोगकर्ता नहीं होना चाहिए और इसे केवल पहली पंक्ति के रूप में रखना चाहिए: उपयोगकर्ता = kwargs.pop ('user') अगर 'उपयोगकर्ता' kwargs में कोई अन्य नहीं – jorelli