Есть представление:
def contact(request):
errors=[]
if request.method =='POST':
if not request.POST.get('subject', ''):
errors.append('Enter a subject,')
if not request.POST.get('message', ''):
errors.append('Enter a message,')
if request.POST.get('email') and '@' not in request.POST['email']:
errors.append('Enter a valid email.')
if not errors:
send_mail(
request.POST['subject'],
request.POST['message'],
request.POST.get('email', 'ex@gmail.com'), ['ex2@gmail.com']
)
return HttpResponseRedirect('/contact/thanks/')
return render_to_response('contact_form.html', locals())
Вместо редиректа выводится ошибка, при этом url остается исходным. Текст ошибки отображается в кривой кодировке, поэтому вот traceback:
Environment:
Request Method: POST
Request URL: http://127.0.0.1:8000/contact/
Django Version: 1.2.4
Python Version: 2.7.0
Installed Applications:
['oneproject.oneapp',
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.sites’,
‘django.contrib.messages’,
‘django.contrib.admin’,
‘django.contrib.admindocs’]
Installed Middleware:
('django.middleware.common.CommonMiddleware',
‘django.middleware.csrf.CsrfViewMiddleware’,
‘django.middleware.csrf.CsrfResponseMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
‘django.contrib.messages.middleware.MessageMiddleware’)
Traceback:
File “D:\Python27\lib\site-packages\django\core\handlers\base.py” in get_response
100. response = callback(request, *callback_args, **callback_kwargs)
File “D:\home\oneproject\..\oneproject\oneapp\views.py” in contact
42. request.POST.get('email', ‘ex@gmail.com’),
File “D:\Python27\lib\site-packages\django\core\mail\__init__.py” in send_mail
61. connection=connection).send()
File “D:\Python27\lib\site-packages\django\core\mail\message.py” in send
179. return self.get_connection(fail_silently).send_messages()
File “D:\Python27\lib\site-packages\django\core\mail\backends\smtp.py” in send_messages
78. new_conn_created = self.open()
File “D:\Python27\lib\site-packages\django\core\mail\backends\smtp.py” in open
41. local_hostname=DNS_NAME.get_fqdn())
File “D:\Python27\lib\smtplib.py” in __init__
239. (code, msg) = self.connect(host, port)
File “D:\Python27\lib\smtplib.py” in connect
295. self.sock = self._get_socket(host, port, self.timeout)
File “D:\Python27\lib\smtplib.py” in _get_socket
273. return socket.create_connection((port, host), timeout)
File “D:\Python27\lib\socket.py” in create_connection
567. raise error, msg
Exception Type: error at /contact/
Exception Value: 10061 ����������� �� �����������,
Подскажите пожалуйста, какова причина ошибки? И как настроить редирект?