Как я могу использовать объект json из файла (например, text.json) для чтения из моего шаблона электронной почты в Django
Я использую Django для отправки шаблонов электронной почты пользователю. Я хочу хранить весь текст, отображаемый в шаблоне HTMl в объекте json и ссылаться на текст как на переменную, двойной {{}} в шаблоне html письма
-------> util.py
def send_reset_password_email(user: User):
reset_token = create_user_reset_password_token(user)
reset_password_url = '{}/account/password/reset/{}'.format(settings.CLIENT_URL, reset_token)
params = {
'reset_password_url': reset_password_url,
'textdata': ### how I can reference my json file here
}
send_template_email(user.email, 'Reset Password','reset_password.html', params)
------->text.json file
{
"forget_password_email_template": {
"title": "This is title",
"sub_title": "This is Sub title",
"support": "This is title",
"help_message": "This is help message"
},
"confirmation_email_template": {
"title": "This is title",
"sub_title": "This is Sub title",
"support": "This is title",
"help_message": "This is help message"
}
}
-------> reset_password.html
<html>
.......
<p style="margin: 0;" class="forget-password-text">
Forgot your password? Let’s get you a new one! {{params.textdata}}</p><br>
.....
<<html/>
Я пробовал import json
, но это не сработало.
Спасибо, и если есть другой лучший способ достичь этого?
Похоже, вы на правильном пути. Это должно помочь:
import json
with open('text.json') as json_file:
data = json.load(json_file)
params = {
'reset_password_url': reset_password_url,
'textdata': data,
}
Я решил эту проблему, разместив file.json
на том же уровне manage.py
.
см. скриншот ниже!
и затем
import json
with open('emails_text.json') as json_file:
data = json.load(json_file)
params = {
'reset_password_url': reset_password_url,
'textdata': data,
}