Django Fileupload с электронной почтой - PullRequest
1 голос
/ 26 апреля 2010

Я пытаюсь прикрепить файл с контактной формой. Мой код выглядит так для формы и вида:

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()

Это мои формы.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 )

Электронная почта работает нормально, но я не могу прикрепить файл, потому что он продолжает выдавать ошибку формы, что поле ввода загрузки файла не может быть пустым, хотя я выбрал файл для загрузки.

Есть идеи? Я все еще новичок в Django и Python ...

1 Ответ

4 голосов
/ 26 апреля 2010

Ставлю деньги, которые вы остановили enctype="multipart/form-data" из шаблона формы:

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

Если бы у меня была копейка за каждую минуту, которую я потратил, пытаясь отследить подобные ошибки ...

...