django

2010-03-16 7 views
22

में अनुलग्नक के साथ ईमेल भेजना मैं django में संलग्न कुछ छवियों के साथ ईमेल भेजने की कोशिश कर रहा हूं। इस्तेमाल किया गया कोड यह स्निपेट है: http://www.djangosnippets.org/snippets/1063/। डुनो क्यों लगाव भाग मुझे कोर त्रुटि देता है।django

कोड। forms.py

from django import forms 
from common import slugify_unique 
from django.conf import settings 
from django.core.cache import cache 
from django.contrib.admin import widgets  
from django.shortcuts import get_object_or_404         

class WorkForm(forms.Form): 
    name = forms.CharField(label='Name and surname', max_length=64, required = True) 
    nick = forms.CharField(label='nickname', max_length=40, required = True) 
    email = forms.EmailField(label='e-mail', required = True) 
    image1 = forms.Field(label='sample photo', widget = forms.FileInput, required = True) 
    image2 = forms.Field(label='sample photo', widget = forms.FileInput, required = True) 
    image3 = forms.Field(label='sample photo', widget = forms.FileInput, required = True) 
    text = forms.CharField(label='Few words about you', widget=forms.Textarea, required = False) 

views.py

from forms import WorkForm 
from django.core.mail import send_mail, EmailMessage 


def work(request): 
    template = 'other/work.html'        

    if request.method == 'POST': 
     form = WorkForm(request.POST, request.FILES) 
     if form.is_valid(): 
      name = form.cleaned_data['name'] 
      nick = form.cleaned_data['nick'] 
      email = form.cleaned_data['email'] 
      subject = 'Work' 
      text = form.cleaned_data['text'] 
      image1 = request.FILES['image1'] 
      image2 = request.FILES['image2'] 
      image3 = request.FILES['image3'] 
      try: 
       mail = EmailMessage(subject, text, ['EMAIL_ADDRESS'], [email]) 
       mail.attach(image1.name, attach.read(), attach.content_type) 
       mail.attach(image2.name, attach.read(), attach.content_type) 
       mail.attach(image3.name, attach.read(), attach.content_type) 
       mail.send() 
       template = 'other/mail_sent.html' 
      except: 
       return "Attachment error" 
      return render_to_response(template, {'form':form}, 
           context_instance=RequestContext(request)) 
    else: 
     form = WorkForm()        
    return render_to_response(template, {'form':form}, 
        context_instance=RequestContext(request)) 

और यहाँ त्रुटि साइट छवि है: http://img201.imageshack.us/img201/6027/coreerror.png क्या मैं गलत कर रहा हूँ?

उत्तर

24

आपके द्वारा पोस्ट की गई त्रुटि ट्रेसबैक में वास्तविक कोड के साथ कुछ भी नहीं लगता है - ऐसा लगता है कि यह मिडलवेयर के साथ कुछ प्रकार की समस्या है (संभवतः 500 त्रुटि पृष्ठ को प्रस्तुत करते समय)।

हालांकि, आपकी त्रुटि शायद mail.attach पर कॉल में अपरिभाषित चर नाम attach के उपयोग के कारण हुई है। आपके पास attach वैरिएबल नहीं है - आपने पोस्ट की गई फ़ाइलें image1 इत्यादि कहा है, इसलिए आपको उन नामों का उपयोग करना चाहिए।

mail.attach(image1.name, image1.read(), image1.content_type) 
mail.attach(image2.name, image2.read(), image2.content_type) 
mail.attach(image3.name, image3.read(), image3.content_type) 
+0

सही, धन्यवाद! – owca