2016-03-15 10 views
5

本当にDjangoには新しいImなので、Imはまだフォームに慣れています。 Djangoでメールを送信しようとしています。アップロードされたファイルを含むフォームからすべてのクリーンデータを使用しています。エラー "FieldFile 'オブジェクトには属性' rfind 'がありません。私は電子メールにファイルを添付しようとします。これは、ファイルが最初にプロジェクト内のフォルダにアップロードされなければならないことを意味するので、ファイルパスには参照するものがありますか?FieldFileオブジェクトには属性がありません '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

関連する問題