Пишу отправку сообщений на Django сервере и столкнулся с такой проблемой: при нажатии на input типа submit в форме типа post происходит передача методом GET. Как это возможно и как это можно поправить? Вот код:
<form method="post" id="form-callback" class="contact__form" action="/mail/">
{% csrf_token %}
<div class="contact__line">
<input type="text" class="contact__input contact__input-1" name="mail_name" placeholder="Ваше имя">
<input type="email" class="contact__input contact__input-1" name="mail_email" placeholder="Email для ответа">
</div>
<div class='contact__area'>
<textarea class="contact__input" placeholder="Текст вопроса" name="mail_text"></textarea>
</div>
<input class="contact__button" type="submit" value="Отправить">
Вот серверный код(запрос приходит):
@csrf_exempt
def mail_post(request):
if request.method == 'POST':
mail_email = request.POST.get('mail_email', '')
mail_name = request.POST.get('mail_name', '')
mail_text = request.POST.get('mail_text', '')
return HttpResponse(JsonResponse(mail_email + " " + mail_name + " " + mail_text + " " + request.method).content)
try:
sendMail(mail_email, mail_name, mail_text)
except BadHeaderError:
return HttpResponse('Invalid header found.')
return HttpResponseRedirect('/contact/thanks/')
return HttpResponseRedirect('/')
/ru/mail/ в action и будет тебе счастье ;)
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Могу ли я вместо, например, открывающего тега < писать < ? И как браузер будет это интерпретировать?