我有一个已经设计好的表单模板(使用bootstrap-studio)。 我只需要从中获取数据并将其作为邮件发送到我的电子邮件ID。 如果按提交后页面可以重定向到新页面,那也很好。
我已经设置好settings.py并能够发送表单的“消息”部分。
if request.method == 'POST':
message = request.POST['message']
send_mail(
'Contact Form',
message,
settings.EMAIL_HOST_USER,
['abcd@gmail.com'],
fail_silently=False
)
return render(request, 'contact.html')
我需要的是能够发送带有“消息”,“名称”,“电子邮件”, 包含在其中。
我尝试写
message = request.POST['message','name','email']
没有得到预期的结果。
contact.html:
<form method="post">
{% csrf_token %}
<h2 class="text-center">Contact us</h2>
<div class="form-group"><input class="form-control" type="text" name="name" placeholder="Name"></div>
<div class="form-group"><input class="form-control " type="email" name="email" placeholder="Email"></div>
<div class="form-group"><textarea class="form-control" name="message" placeholder="Message" rows="14"></textarea></div>
<div class="form-group"><button class="btn btn-primary" type="submit">send </button></div>
</form>
</div>
答案 0 :(得分:0)
要从表单中获取数据,您必须单独进行操作。
message = request.POST["message"]
name = request.POST["name"]
email = request.POST["email"]
然后,您可以使用此数据作为参数传递给send_mail()函数。 要在提交表单后重定向到另一个页面,请使用以下逻辑:
from django.shortcuts import redirect
if request.method == 'POST':
message = request.POST['message']
name = request.POST["name"]
email = request.POST["email"]
send_mail(
'Contact Form',
message,
settings.EMAIL_HOST_USER,
[email,],
fail_silently=False
)
return redirect("/home/")
return render(request, 'contact.html')