The problem is the following: I can not send data to the form on the site through a python script. The usual feedback form that works properly when manually filling, but does not send anything, if you send a post-request script. What to do? Here are the necessary codes.
Script for sending a request to the site:
import requests import sys URL = 'http://127.0.0.1:8000/' client = requests.session() client.get(URL) csrftoken = client.cookies['csrftoken'] login_data = dict(lastname='Игин', name='Anton', middlename='Konst', birthday='2017-04-20', telephone='(896) 097-29-02', csrfmiddlewaretoken=csrftoken, next='form_call/') r = client.post(URL, data=login_data, headers=dict(Referer=URL)) views.py
def form_call(request): if request.method=='POST': form = Call_Form(request.POST) name = request.POST.get('name', '') lastname = request.POST.get('lastname', '') middlename = request.POST.get('middlename', '') birthday = request.POST.get('birthday', '') telephone = request.POST.get('telephone', '') if form.is_valid(): mail_host = SMTPMail.objects.all()[0] rec_list = RecMail.objects.all() recipients= [] for mail in rec_list: recipients.append(mail.mail) #Список получателей message = ''' На сайте вашей структуры NL International появилась новая заявка на звонок! Вот данные, предоставленные новым консультантом: ФИО:{0} {1} {2} Дата рождения: {3} Телефон: {4}'''.format(name,lastname, middlename, birthday, telephone) subject= 'Заявка на звонок' send_mail(subject, message, mail_host.mail, recipients, fail_silently=False) return redirect('/thanks/') else: return redirect('/error/')
django-admin sendtestemailworks? - andreymal