Как взять данные в джанго из html и отправить их на майл?
Я разобрался с send_email, оно отправляет на почту письмо, но как сделать так, чтобы описание было взято из формы Html?
Вот view.py и я хочу в message взять текст из инпута html '''
def send_email(request):
subject = 'Новая заявка!'
message = 'New message'
email_from = settings.EMAIL_HOST_USER
recipient_list = ['[email protected]', ]
send_mail(subject, message, email_from, recipient_list)
return HttpResponse("Successful")
'''
Html код из которого я хочу взять данные
{% csrf_token %}
<label for="team_name">Введите текст: </label>
<input id="team_name" type="text" name="name_field" value="Default name for team.">
<a href="/send" type="submit" class="btn btn-dark col-2">Отправить</a>
</form>
Извините за непрофессиональное объяснение, обещаю в будущем исправиться.
Может я чего-то не понимаю, может где-то есть конфликты в коде
Ответы (2 шт):
Автор решения: Vadim.Sharoikin
→ Ссылка
Dсе очень просто. В одну строчку. request.POST берет значение с поля формы по атрибуту name
message = request.POST['name_field']
Автор решения: m0nte-cr1st0
→ Ссылка
Template
<form method="POST" action="/send">
{% csrf_token %}
<label for="team_name">Введите текст: </label>
<input id="team_name" type="text" name="name_field" value="Default name for team.">
<button type="submit" class="btn btn-dark col-2">Отправить</button>
</form>
views
def send_email(request):
subject = 'Новая заявка!'
message = request.POST.get('name_field')
email_from = settings.EMAIL_HOST_USER
recipient_list = ['[email protected]', ]
send_mail(subject, message, email_from, recipient_list)
return HttpResponse("Successful")
P.S. В шаблоне в атрибуте action лучше указывайте имя урла.
