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吗?
validlink在Django的password_reset_confirm视图中初始化:
在reset_link从块是在这里,让你可以扩展你的项目这个模板.
视图password_reset_confirm和password_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模板加载器的更多信息.