Форум сайта python.su
0
Всем привет!
Есть такая проблема:
В форме есть поле добавления файла. Добавляем файл, отправляем письмо –> на почту все что нужно приходит. Но проблема в том, что если не добавить файл, то ничего не приходит )
Сама форма:
class FileForm(forms.Form): f_name = forms.CharField(required=True, max_length=50) f_mail = forms.EmailField(required=True) f_message = forms.CharField(required=True, max_length=500) f_file = forms.FileField(widget = forms.FileInput) f_news = forms.BooleanField(required=False)
if request.method == 'POST': file_form = FileForm(request.POST, request.FILES) if file_form.is_valid(): f_name = file_form.cleaned_data['f_name'] f_mail = file_form.cleaned_data['f_mail'] f_message = file_form.cleaned_data['f_message'] f_news = file_form.cleaned_data['f_news'] f_file = request.FILES['f_file'] news = '' if f_news: news = 'Посетитель дал согласие на получение новостей' from_email = '###############' to_email = ['###########', ] subject = 'Страничная форма' full_message = "От %s ( %s ) %s. Сообщение: %s" %(f_name, f_mail, news, f_message) try: mail = EmailMessage(subject, full_message, from_email, to_email) if not f_file == None: # Попытка проверки, но результата не дало mail.attach(f_file.name, f_file.read(), f_file.content_type) mail.send() except: return HttpResponse('Invalid mail send!') return redirect(index) else: file_form = FileForm()
<div class="block_left"> {% if file_form.is_multipart %} <form class="form_question" role="form" method="post" action=" " enctype="multipart/form-data"> {% else %} <form class="form_question" role="form" method="post" action=" "> {% endif %} {% csrf_token %} <div class="row_block"> <label for="f_name"> <span class="form_title">Ваше имя</span> <input type="text" name="f_name" placeholder="Имя" required /></label> <span class="name_text">######################</span> </div> <div class="row_block"> <label for="f_mail"> <span class="form_title">Почта</span> <input type="text" name="f_mail" placeholder="Email" required /></label> <span class="upload_wrapper"> <div class="fileform"> <div class="selectbutton">Прикрепить файл</div> <input id="upload" type="file" name="f_file" /> </div> </span> </div> <div class="row_block"> <label for="f_message"> <span class="form_title">Вопрос</span> <textarea name="f_message" id="textform" cols="30" rows="4"></textarea> </label> <span class="wrapper_checkbox"> <input type="checkbox" name="f_news" id="checkbox" value="a1" checked /> <label for="checkbox"></label> <strong>Подписаться на новости и акции</strong> <input type="submit" value="Отправить" id="button_submit"> </span> </div> </form> </div>
Отредактировано vitt44 (Июнь 6, 2017 13:25:21)
Офлайн
294
vitt44чето сомеваюсь что это форма сома, но на всякий случай выложите еще метод is_valid() формы сома.
Сома форма:
f_file = forms.forms.FileField(widget = forms.FileInput)
[code python][/code]
Отредактировано PEHDOM (Июнь 6, 2017 12:29:39)
Офлайн
0
PEHDOM
и вот тут вы уверены что должно быть forms.forms.?
PEHDOM
чето сомеваюсь что это форма сома, но на всякий случай выложите еще метод is_valid() формы сома.
Офлайн
568
vitt44Вам мягко намекают, что неплохо бы выучить русский язык перед тем как осваивать какие-то другие.
Чего-то не понял, что имеете ввиду )
Офлайн
0
FishHookВот нет чтобы по делу ответить …
Вам мягко намекают, что неплохо бы выучить русский язык перед тем как осваивать какие-то другие.
Офлайн
294
vitt44сом это рыба такая.
Чего-то не понял, что имеете ввиду )
[code python][/code]
Отредактировано PEHDOM (Июнь 6, 2017 13:30:50)
Офлайн
568
vitt44Я прямо и по делу ответил на ваш вопрос.
Вот нет чтобы по делу ответить …
Офлайн