数据被发送到表单python脚本,获取代码200,但不获取字母(工作结果视图)
我无法通过python脚本在网站上发送表单数据。通常的反馈表单,手动填写时可以正常工作,但如果发送请求脚本,则不会发送任何内容。怎么办 向站点发送请求的脚本:数据被发送到表单python脚本,获取代码200,但不获取字母(工作结果视图),python,django,Python,Django,我无法通过python脚本在网站上发送表单数据。通常的反馈表单,手动填写时可以正常工作,但如果发送请求脚本,则不会发送任何内容。怎么办 向站点发送请求的脚本: 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
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/')
我的问题已经解决了。这是我的代码:
import requests
import sys
URL = 'http://127.0.0.1:8000/' #address of web page with html form
URL2 = 'http://127.0.0.1:8000/form_call/' #address of view processing form data
client = requests.session()
client.get(URL)
csrftoken = client.cookies['csrftoken']
login_data = dict(lastname='Игин', name='Anton', middlename='Konst testim', birthday='2017-01-20', telephone='896-002-00-02', csrfmiddlewaretoken=csrftoken)
r = client.post(URL2, data=login_data)
您在settings.py中使用的电子邮件后端