【发布时间】:2016-11-14 10:52:14
【问题描述】:
我在我的 Django 应用程序中创建了一个联系表单。
在我的模板中有一个 textarea 字段:
<textarea class="form-control" rows="8" id="email_body" name="email_body" placeholder="Email body"></textarea>
在我的views.py 中,此文本区域的内容被传递给发送电子邮件的函数:
def index(request):
# some code here
email_body = request.POST.get('email_body')
send_emails(email_subject, email_body, email_list) # the other variables are declared above
# more code here
不知道是否需要,但是send_emails函数的代码是:
def send_emails(email_subject, email_body, email_list):
subject = email_subject
message = email_body
email = EmailMessage(subject, message, os.environ['EMAIL_HOST_USER'], email_list)
email.content_subtype = "html"
email.send()
问题是电子邮件正文没有文本格式。所有换行符(来自 textarea)都丢失了,消息打印在一行中。
当它被传递给视图和send_emails 函数时,有没有办法保持 textarea 消息的原始 HTML 格式?
【问题讨论】:
-
您需要使用 safe 模板标签。从这里进一步阅读。 docs.djangoproject.com/en/1.10/ref/templates/builtins/#safe