我在我的Django應用程序中創建了一個聯繫表單。將變量從Django模板傳遞到視圖時保持HTML格式
在我的模板有一個文本字段:
<textarea class="form-control" rows="8" id="email_body" name="email_body" placeholder="Email body"></textarea>
在我views.py
這個textarea的內容將被傳遞到用於發送電子郵件的功能:
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 **模板標籤。從這裏進一步閱讀。 https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#safe –