如何在Django auth_views中使用自己的模板?

时间:2019-04-06 17:26:54

标签: python django django-views django-urls

我正在创建用于用户更改密码的选项,为此,我正在使用Django auth_views,特别是PasswordChangeView(CBV)。 Django auth_views默认使用Django管理员设计模板。如何仅以auth_views的形式使用自己的模板?

我尝试过的事情:


我正在尝试设置一个template_name。但是auth_views表单不会出现... 只有我提供的模板会加载。

urls.py


from django.contrib.auth import views as auth_views
urlpatterns = [
    path('change-password/', auth_views.PasswordChangeView.as_view(template_name='settings/alterar_passwor 
d.html'), name="change-password"),

]

模板

alterar_password.html

{% extends 'settings/settings.html' %}
{% load staticfiles %}
{% block settings %}


 <a href="{% url 'change-password' %}">Mudar a minha password</a>

{% endblock %}

我期望的是 我期待将auth_views提供的表单与我自己的模板一起使用,以便避免为用户设计Django管理。

1 个答案:

答案 0 :(得分:1)

您可以在模板中使用此代码或类似代码。您的视图将在您的自定义模板中传递标准的“表单”,您必须在其中进行渲染。

一个例子:

    <form method="post" >
<fieldset>
    <legend>Password change</legend>
                        {%  csrf_token %}
                        {{form.as_p}}

<button type="submit" class="form-button ">Submit</button>

<button type="reset" class="form-button btn ">Reset</button>
</fieldset>
</form>