开发者

Django Fileupload With Email

I am trying to attach a file with a contact form. My code looks like this for the form and view:

if request.method == 'POST':
    form = UploadCVForm(request.POST, request.FILES)
    if form.is_valid(): # All validation rules pass
        subject = "CV Sent from BiztechAfrica"
        sender = form.cleaned_data['email']
        message = "Some message goes in here"
        name = form.cleaned_data['name']
        recipients = ['herman@xxx.co.za']
        cv_file = request.FILES['cv_file']
        mail = EmailMessage(subject, message, sender, recipients)
        mail.send()

        return HttpResponse('Thanks') # Redirect after POST
else:
    form = UploadCVForm()

This is my forms.py:

class UploadCVForm(forms.Form):
    subject = "CV Sent from BiztechAfrica"
    name = forms.CharField(max_length=128)
    email = forms.EmailField()
    cv_file = forms.Field(label='CV', widget = forms.FileInput,   required = True )

The email works fine, but I cant attach the file because it keeps giving me a form error that the file upload input field can't be empty although I have selected a file to upload.开发者_开发知识库

Any ideas? I am still a newb to Django and Python...


I'd bet money you left off enctype="multipart/form-data" from your form template:

<form action="/wherever/" method="POST" enctype="multipart/form-data">

If I had a penny for every minute I've spent trying to track errors like that down...

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜