Найти - Пользователи
Полная версия: HttpResponseRedirect
Начало » Django » HttpResponseRedirect
1
I159
Есть представление:
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 ����������� �� �����������,
Подскажите пожалуйста, какова причина ошибки? И как настроить редирект?
Александр Кошелев
Ошибка не в редиректе, а в отправке письма. Проверьте свои SMTP настройки.
I159
Александр, как это сделать? Работаю на дефсервере Django под Windows. Нашел вот такой туториал http://tutorialbox.freelancing.lv/tutorials/4, но не понятно что и куда писать?
Александр Кошелев
I159
как это сделать?
Хм. Вы должны указать настройки для подключения к вашему SMTP серверу или указать какой-то другой бекэнд для отправки почты.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB