Ich habe neulich angefangen, Django zu lernen und versuche, eine Benutzerregistrierungsfunktion zu implementieren. E-Mail mit Django senden ← Ich schreibe das Programm gemäß diesem Artikel. Ich habe mehrmals einen Fehler erhalten, daher werde ich ihn als Memorandum belassen. TemplateDoesNotExist Das erste, was mir begegnete, war der obige Fehler. Die Vorlage für den Titel und den Text der E-Mail, die während der Benutzerregistrierung gesendet wurde, wurde nicht gefunden, was zu einem Fehler führte. Ich habe das Verzeichnis wie unten gezeigt geändert und es wurde behoben. Es scheint, dass der Ordner mail_templates auch in Vorlagen abgelegt werden musste.
× Vor der Korrektur Benutzer (App-Name) ├mail_templates | └create | └subject.txt (Mail-Titelvorlage) └templates
〇 Nach der Korrektur users └templates └mail_templates └create └subject.txt (Mail-Titelvorlage)
Ich wurde abgelehnt. Dies lag daran, dass ich versucht habe, dem Registranten eine E-Mail von Google Mail zu senden, aber den Google Mail-Benutzernamen, das Kennwort usw. nicht in das Programm geschrieben habe. Ich habe Folgendes zu settings.py hinzugefügt und es wurde gelöst.
settings.py
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'Met'
EMAIL_HOST_PASSWORD = 'Passwort'
EMAIL_USE_TLS = True
SMTPAuthenticationError at /user_create/ Dann erhielt ich zusammen mit dem oben genannten Fehler eine Warn-E-Mail von Google Mail, die als Absender in diesem Programm verwendet werden sollte, mit der Meldung "Jemand versucht, sich illegal anzumelden". Dies wurde behoben, indem zu der im Fehler angezeigten Google-Adresse gesprungen wurde und der Zugriff auf weniger sichere Apps ermöglicht wurde. (Entschuldigung für die Sicherheits-App ...)
BadHeaderError Das Atom, das ich verwendet habe, fügt automatisch einen Zeilenumbruch am Ende der Datei ein, sodass die Fehlermeldung "subject.txt, die nicht unterbrochen werden kann, besteht aus zwei Zeilen! Ich habe Probleme!" Angezeigt wird. Mit Bezug auf die folgende Site habe ich die Funktion zum automatischen Unterbrechen der Linie gestoppt und behoben. [Atom] Einstellung, um automatische Zeilenumbrüche am Ende der Datei zu verhindern
Nachdem ich das oben genannte gelöst hatte, konnte ich mit der Django-App erfolgreich eine E-Mail senden! Hurra!