我使用Django的重置它發送電子郵件給用戶提供了一個鏈接,輸入新的密碼口令流將不接受特殊字符。此電子郵件的模板是password_reset_email.html。我已將此模板複製到我自己的項目中並進行了自定義。但是,我無法使用特殊字符,例如ø。通常情況下,我使用Django的電子郵件密碼重置流程:
ø or ø
這樣的實體,但它們不起作用 - 它們只是直接以書面形式顯示。我沒有設置settings.DEFAULT_CHARSET,所以它應該是utf-8。在我的.py文件我已經寫
# coding=UTF-8
功能PasswordResetForm執行以下操作:
email_template_name='registration/password_reset_email.html'
...
t = loader.get_template(email_template_name)
...
c = {'email': user.email,
...
}
send_mail("subject line",
t.render(Context(c)), from_email, [user.email])
我試圖改變模板爲.txt代替的.py,並使用逃生。
編輯:錯誤,我得到的是:「UTF-8」編解碼器不能解碼字節
編輯。我意識到問題在於它根本不是渲染。這不僅僅是一個特殊的字符問題。所以,我會問這是一個新問題。
不SOOO熟悉Python,但如果你想送與æøå必須編碼電子郵件您的郵件標題正確。如果您嘗試簡單地顯示模板,是否顯示正確? – OptimusCrime
如果我在Chrome中直接打開模板,則ø顯示正確。看起來我可以在發送電子郵件時包含標題信息。但是編碼應該是什麼,然後如何在電子郵件模板中編寫字符?我不必使用HTML。 – user984003
是'send_mail'標準的Python/Django的功能? – OptimusCrime