Django注册模板

Pet*_*ter 5 django templates registration

我在这里下载了django-registration的一些模板.

有人可以向我解释如何重置密码吗?

在password_reset_confirm.html中,我不明白validlink它来自哪里:

{% extends "base.html" %}
{% block content %}
{% if validlink %}
<form method="post" action=".">
  {{ form.as_p }}
  <input type="submit" value="Submit" />
</form>
{% else %}
<p>Password reset failed.</p>
{% endif %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

在password_reset_email.html中,我不明白名为"reset_link"的块来自哪里,因为我们没有扩展任何模板:

Reset password at {{ site_name }}
{% block reset_link %}
{{ protocol }}://{{ domain }}{% url auth_password_reset_confirm uidb36=uid, token=token %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

不应该是site.name吗?

Thi*_*Lam 5

validlink在Django的password_reset_confirm视图中初始化:

reset_link从块是在这里,让你可以扩展你的项目这个模板.

视图password_reset_confirmpassword_reset_email将从Django源运行.例如,password_reset_confirm视图将呈现模板:

template_name='registration/password_reset_confirm.html'
Run Code Online (Sandbox Code Playgroud)

假设您TEMPLATE_LOADERS在以下顺序中settings.py:

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader'
)
Run Code Online (Sandbox Code Playgroud)

将自定义项password_reset_confirm.html放在项目中:

yourproject/
    templates/
        registration/
            password_reset_confirm.html
Run Code Online (Sandbox Code Playgroud)

Django的模板加载器首先password_reset_confirm.html在项目的templates文件夹中搜索,然后在Django自己的注册应用程序中搜索,如果之前的搜索不成功.

您可以阅读有关Django模板加载器的更多信息.