allauth의 템플릿 파일을 오버라이드 하려면 allauth의 템플릿 파일과 똑같은 이름을 가진 파일을 app_name/templates/account/ 폴더 안에 넣어주시면 됩니다. 그리고 settings.py 파일의 INSTALLED_APPS 목록에서 app_name은 allauth보다 위에 와야 합니다.
HTML 템플릿
커스텀 템플릿을 app_name/templates/account/ 폴더 안에 넣어주시면 됩니다.
(예: app_name/templates/account/signup.html)
페이지 | 템플릿 | 이름필드 |
회원가입 ('account_signup') | signup.html | - 유저네임: {{ form.username }} - 이메일: {{ form.email }} - 비밀번호: {{ form.password1 }} - 비밀번호 확인: {{ form.password2 }} - 추가 필드(extra_field): {{ form.extra_field }} |
로그인 ('account_login') | login.html | - 로그인 (유저네임/이메일/둘 다 허용): {{ form.login }} - 비밀번호: {{ form.password }} |
비밀번호 변경 ('account_change_password') | password_change.html | - 현재 비밀번호: {{ form.oldpassword }} - 새 비밀번호: {{ form.password1 }} - 새 비밀번호 확인: {{ form.password2 }} |
비밀번호 찾기 ('account_reset_password') | password_reset.html | - 이메일: {{ form.email }} |
비밀번호 재설정 이메일 발송 완료 ('account_reset_password_done') | password_reset_done.html | |
비밀번호 재설정 ('account_reset_password_from_key') | password_reset_from_key.html | - 새 비밀번호: {{ form.password1 }} - 새 비밀번호 확인: {{ form.password2 }} |
비밀번호 재설정 완료 ('account_reset_password_from_key_done') | password_reset_from_key_done.html |
위 테이블에 있는 필드를 활용해서 템플릿을 만드시면 됩니다.
이메일 템플릿
커스텀 템플릿을 app_name/templates/account/email/ 폴더 안에 넣어주시면 됩니다.
(예: app_name/templates/account/email/email_confirmation_signup_subject.txt)
설명템플릿 이름템플릿 변수설명 | 템플릿 이름 | 템플릿 변수 |
인증 이메일 제목 (회원가입시 자동으로 발송되는 이메일) |
email_confirmation_signup_subject.txt | |
인증 이메일 내용 (회원가입시 자동으로 발송되는 이메일) |
email_confirmation_signup_message.txt | 이메일 인증 링크: {{ activate_url }} |
인증 이메일 제목 (수동으로 발송되는 이메일) |
email_confirmation_subject.txt | |
인증 이메일 내용 (수동으로 발송되는 이메일) |
email_confirmation_message.txt | 이메일 인증 링크: {{ activate_url }} |
비밀번호 재설정 이메일 제목 | password_reset_key_subject.txt | |
비밀번호 재설정 이메일 내용 | password_reset_key_message.txt | 비밀번호 재설정 링크: {{ password_reset_url }} |
필요할 경우 위 테이블에 있는 템플릿 변수를 활용해서 이메일 내용을 작성하시면 됩니다.
예: password_reset_key_message.txt
안녕하세요 {{ user }} 회원님,
아래 링크를 통해 계정의 비밀번호를 재설정하실 수 있습니다.
{{ password_reset_url }}
감사합니다.
그리고 이메일 제목은 템플릿을 오버라이딩해도 제목 앞에 웹사이트 도메인이 붙는데, 이걸 제거하려면 ACCOUNT_EMAIL_SUBJECT_PREFIX를 설정해 주시면 됩니다.
ACCOUNT_EMAIL_SUBJECT_PREFIX = ''
ACCOUNT_EMAIL_SUBJECT_PREFIX의 디폴트 값은 웹사이트 도메인 이름입니다.
메시지 템플릿
우리는 메시지를 사용하지 않기 때문에 빈 메시지 템플릿을 사용했습니다.
메시지 템플릿은 app_name/templates/account/messages/ 폴더 안에 넣어주시면 됩니다.
만약 메시지 내용을 실제로 오버라이드하고, 웹사이트 내에서 사용하고 싶으시다면 메시지를 디스플레이해 줘야 하는데요. 메시지를 디스플레이하는 방법은 여기서 확인하실 수 있습니다.
'Study > Django' 카테고리의 다른 글
[ Django ] allauth 정리 (0) | 2022.01.09 |
---|---|
[ Django ] Input 태그의 속성 (0) | 2021.12.26 |
[Django] 장고 유저 기능 구현하기 #12 ( Form에 디자인 입히기) (0) | 2021.12.26 |
[Django] allauth URL 및 세팅 (0) | 2021.12.22 |
[Django] 장고 유저 기능 구현하기 #11 ( 비밀번호 관리 기능) (0) | 2021.12.22 |