gpt4 book ai didi

python-3.x - Djoser 使用模板覆盖激活电子邮件

转载 作者:行者123 更新时间:2023-12-04 11:48:41 26 4
gpt4 key购买 nike

我一直在寻找有关如何执行此操作的更多信息,但似乎几乎没有文档帮助。
本质上我想要做的是为激活电子邮件创建一个新模板,以便链接可以以 localhost:3000 而不是 localhost:8000 开头(我使用 Vue 作为前端发布请求,这就是为什么)
我设法找到了这个:https://github.com/sunscrapers/djoser/blob/master/djoser/templates/email/activation.html
但是当我将它添加到我自己的项目中时,仍然使用默认的 Djoser 模板。
这是我的 settings.py 的样子:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
如果手动将 8000 替换为 3000,我的激活 URL 有效:
 'ACTIVATION_URL': 'registration/activate/{uid}/{token}',
模板/电子邮件/activation.html:
{% block subject %}
{% blocktrans %}Account activation on {{ site_name }}{% endblocktrans %}
{% endblock subject %}

{% block text_body %}
{% blocktrans %}You're receiving this email becaus!!!!!!e you need to finish activation process on {{ site_name }}.{% endblocktrans %}

{% trans "Please go to the following page to activate account:" %}
{{ http }}://{{ localhost:3000 }}/{{ {% url 'registration/activate' uidb64=uid token=token %} }}

{% trans "Thanks for using our site!" %}

最佳答案

我想你需要覆盖 email.ActivationEmail ,例如到 core/email.py

from djoser import email


class ActivationEmail(email.ActivationEmail):
template_name = 'email/activation.html'
并将其添加到您的 settings.py
DJOSER = {
'EMAIL': {
'activation': 'core.email.ActivationEmail'
}
}
以下是可以覆盖的电子邮件 link

关于python-3.x - Djoser 使用模板覆盖激活电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63439174/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com