Ich erstelle eine E-Mail-Vorlage für Benutzer, die ihre Kennwörter erfolgreich aktualisiert haben.Django Autoescape funktioniert nicht in render_to_string (Vorlage)?
Ich habe {{autoescape off}} in der Vorlage verwendet, die mit render_to_string() gerendert wird.
der E-Mail-Inhalt zeigt dies die HTML-spitzen Klammern direkt wie jedoch:
Hallo < span style = 'color: blue' > Benutzer! </span >
Ihr Passwort wurde erfolgreich aktualisiert!
ich Django2.0 und meinen Code verwende sieht wie folgt aus:
views.py
from django.core.mail import send_mail
from django.template.loader import render_to_string
def sendmail(request, title)
email_title = title
email_content = render_to_string('template.html',{'username':request.user.username})
recipient = request.user.email
send_mail(
email_title,
email_content,
'[email protected]',
[recipient,],
)
template.html
{{ autoescape off}}
Hi <span style='color:blue'>user! </span>
Your password is updated successfully!
{{ endautoescape }}
Ist dort ein stimmt etwas mit meinem Code nicht?
Sonst ist Autoescape bei der Verwendung von render_to_string() immer eingeschaltet?
Dies nichts mit Auto Entkommen zu tun haben kann. Das gilt für HTML, das aus einer Variablen in die Vorlage eingefügt wird, die Sie nicht tun. –