1

我已经为一个 django 系统构建了一个密码重置功能,该功能通过一个 sweetpie api 暴露出来。渲染过程是这样的

form = PasswordResetForm({'email': reset_email})
    form.full_clean()
    form.save({
        'use_https': request.is_secure(),
        'token_generator': default_token_generator,
        'from_email': settings.DEFAULT_FROM_EMAIL,
        'email_template_name': 'registration/password_reset_email.html',
        'request': request
    })
    return self.create_response(request, { 'success': True })

我使用了标准的 Django 密码重置电子邮件模板。当我调用端点时,http 请求会在一些自定义标签中呈现,例如

标记:

{% trans "Please go to the following page and choose a new password:" %}
{% block reset_link %}
{{ protocol }}://{{ domain }}{% url 'django.contrib.auth.views.password_reset_confirm' uidb36=uid token=token %}
{% endblock %}
{% trans "Your username, in case you've forgotten:" %} {{ user.get_username }}

预期结果:

请转到以下页面并选择一个新密码: httt://www.myurl.com/password-reset “您的用户名,以防您忘记了:用户名

实际结果

请转到以下页面并选择一个新密码:httt://{'request': , POST:, COOKIES:{}, META:{'CONTENT_LENGTH': '48', (...) "您的用户名,如果您忘记了:用户名

让我感到奇怪的是,基于模型的模板标签正确呈现,但全局标签(例如“Site_name”)和重置 url 和令牌似乎中断了。我确信这是问题原因的一个很好的线索,但我不知道下一步该去哪里。

如果有人可以提供帮助,那就太好了。

谢谢

4

0 回答 0