@idrummer
frontend developer django/python

Как в Django 1.10 отправить письмо на почту?

Модальное окно формы
<form id="callback" class="get-info" action="{% url 'callback:callback' %}" method="POST">
    {% csrf_token %}
    <input type="hidden" name="_subject" value="karpaty-perezvonite-mne" />
    <div class="form-group">
    <input id="callback" name="phone" type="tel" class="form-control" placeholder="+ 380 ___-__-__">
    </div>
    <input type="text" class="form-control" placeholder="" name="lastpath" value="/" style="display: none"/>
    <button type="submit" class="btn btn-default" value="Send">Отправить</button>
</form>

Вьюха
@requires_csrf_token
def callback(request):
    phone = request.POST.get('phone', None)
    text = u'Вас просят перезвонить по номеру: ' + phone
    if request.method == 'post':
        c = {}
        send_mail('Заказ обратного звонка', text, 'test@test.com',
                  ['test@test.com'], fail_silently=False)
        return render(request, 'index.html', c)

Основной путь
url(r'^callback/', include('callback.urls', namespace="callback")),

Путь в апп
from django.conf.urls import url
urlpatterns = [
    url(r'^callback/$', views.callback, name='callback'),
]


Settings
CSRF_COOKIE_SECURE = True

MIDDLEWARE = [
    'django.middleware.csrf.CsrfViewMiddleware',
]
TEMPLATES = [{
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.csrf',
            ],
        },
    },
]


При отправке формы получаю 403 ошибку, токен есть в куке, но скрытое поле с токеном при этом не создаётся
  • Вопрос задан
  • 215 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы