所以我已经为我希望使用Django发送电子邮件的表单编写了HTML代码。从我所看到的一切,Django电子邮件正在与Django自己的表单模块一起使用,以便发送带有数据的电子邮件。我想知道是否可以保留我当前的HTML表单并访问其POST数据以用于Django的电子邮件功能?
答案 0 :(得分:2)
您不需要使用django Form对象(如ContactForm):您可以通过视图的request
参数访问表单的POST数据。
此示例取自文档(https://docs.djangoproject.com/en/dev/topics/email/#preventing-header-injection):
from django.core.mail import send_mail, BadHeaderError
def send_email(request):
subject = request.POST.get('subject', '')
message = request.POST.get('message', '')
from_email = request.POST.get('from_email', '')
if subject and message and from_email:
try:
send_mail(subject, message, from_email, ['admin@example.com'])
except BadHeaderError:
return HttpResponse('Invalid header found.')
return HttpResponseRedirect('/contact/thanks/')
else:
# In reality we'd use a form class
# to get proper validation errors.
return HttpResponse('Make sure all fields are entered and valid.')
它既快又脏,但工作正常。
但是,看起来您仍然在django中处理表单处理问题。在继续之前,您可能希望继续这样做。
祝你好运。