암호를 재설정 할 때 satchmo 저장소에서 html 형식의 메일을 보내야한다고 클라이언트에서 요청했습니다.satchmo password_reset html 형식 메일
실제로 satchmo 또는 django의 contrib.auth.views.password_reset은 원시 전자 메일 만 보냅니다.
html 형식의 메일을 보내려면 어떻게 수정해야합니까?
감사합니다.
암호를 재설정 할 때 satchmo 저장소에서 html 형식의 메일을 보내야한다고 클라이언트에서 요청했습니다.satchmo password_reset html 형식 메일
실제로 satchmo 또는 django의 contrib.auth.views.password_reset은 원시 전자 메일 만 보냅니다.
html 형식의 메일을 보내려면 어떻게 수정해야합니까?
감사합니다.
저는 Satchmo를 사용하지 않았지만 시작해야합니다.
먼저 PasswordResetForm
의 하위 클래스를 만들고 save
메서드를 재정 의하여 일반 텍스트 전자 메일 대신 HTML 전자 메일을 보냅니다.
from django.contrib.auth.forms import PasswordResetForm
class HTMLPasswordResetForm(PasswordResetForm):
def save(self, domain_override=None, email_template_name='registration/password_reset_email.html',
use_https=False, token_generator=default_token_generator, from_email=None, request=None):
"""
Generates a one-use only link for resetting password and sends to the user
"""
# Left as an exercise to the reader
안내서로는 existing PasswordResetForm
을 사용할 수 있습니다. 마지막에 send_mail
호출을 html 이메일을 전송하는 코드로 대체해야합니다. docs about sending html emails 도움이 될 것입니다.
양식을 작성한 후에는 password_reset
의 URL 패턴에 양식을 포함시켜야합니다. 내가 말했듯이 Satchmo에 대한 경험은 없지만 소스 코드를 보면 password_reset_dict를 변경하여 satchmo_store.accounts.urls
을 업데이트하려고한다고 생각합니다.
# You need to import your form, or define it in this module
from myapp.forms import HTMLPasswordResetForm
#Dictionary for authentication views
password_reset_dict = {
'template_name': 'registration/password_reset_form.html',
# You might want the change the email template to .html
'email_template_name': 'registration/password_reset.txt',
'password_reset_form': HTMLPasswordResetForm,
}
# the "from email" in password reset is problematic... it is hard coded as None
urlpatterns += patterns('django.contrib.auth.views',
(r'^password_reset/$', 'password_reset', password_reset_dict, 'auth_password_reset'),
...