2016-03-15 9 views
5

मैं वास्तव में Django के लिए नया हूं, इसलिए मैं अभी भी फॉर्मों के लिए उपयोग कर रहा हूं। मैं Django में एक ईमेल भेजने की कोशिश कर रहा हूं, जिसमें फॉर्म से सभी साफ किए गए डेटा का उपयोग किया गया है, जिसमें फ़ाइल अपलोड की गई है, और मुझे त्रुटि मिल रही है "फील्डफाइल" ऑब्जेक्ट में कोई विशेषता 'rfind' नहीं है। जब मैं ईमेल पर एक फाइल संलग्न करने की कोशिश करता हूं। क्या इसका मतलब यह है कि फाइल को पहले मेरे प्रोजेक्ट में किसी फ़ोल्डर में अपलोड करना होगा ताकि फ़ाइलपैथ में कुछ संदर्भ हो?फील्डफाइल 'ऑब्जेक्ट में कोई विशेषता नहीं है' rfind '

यहाँ मेरी रूप है

class Application(forms.Form): 
    first_name = forms.CharField(label="First Name", max_length=50) 
    last_name = forms.CharField(label="Last Name", max_length=50) 
    email = forms.EmailField(label="Email", max_length=80) 
    phone = forms.CharField(label="Phone Number", max_length=30) 
    resume = forms.FileField(label="Resume", max_length=1000) 
    message = forms.CharField(label="Message", max_length=800, widget=forms.Textarea) 

मेरे देखें

if request.method == "POST": 
     form = Application(request.POST, request.FILES) 
     Post = True 

     if form.is_valid(): 
      cleaned_data = form.cleaned_data 
      is_valid = True 

      applicant = Applicant() 
      applicant.first_name = cleaned_data['first_name'] 
      applicant.last_name = cleaned_data['last_name'] 
      applicant.email = cleaned_data['email'] 
      applicant.phone = cleaned_data['phone'] 
      applicant.resume = request.FILES['resume'] 
      applicant.message = cleaned_data['message'] 
      applicant.job = career.name 
      date = datetime.datetime.now() 
      applicant.save() 

      email_context = {'interested': applicant} 

      html_content = render_to_string("email/contact/application-html.html", email_context) 

      email = EmailMessage('Some is interested in a demo with Atlas', html_content, settings.DEFAULT_FROM_EMAIL, 
           ['[email protected]']) 
      email.attach_file(applicant.resume) 
      email.send(fail_silently=False) 


     else: 
      is_valid = False 

    else: 
     form = Application() 
     Post = False 
     is_valid = False 

उत्तर

4

attach_file()FieldFile तर्क के रूप में एक रास्ता लेता है, नहीं। यह होना चाहिए:

email.attach_file(applicant.resume.path) 
+0

आह, मैं देखता हूं। हाँ, इस मुद्दे से छुटकारा पा लिया, मैं इसकी सराहना करता हूं! – JBT

+0

धन्यवाद। आपके उत्तर ने मेरी समस्या हल की;) – Deadpool

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