Python 如何在Django auth_视图中使用自己的模板?
我正在为用户创建更改密码的选项,为此我使用DjangoPython 如何在Django auth_视图中使用自己的模板?,python,django,django-views,django-urls,Python,Django,Django Views,Django Urls,我正在为用户创建更改密码的选项,为此我使用Djangoauth_views,特别是PasswordChangeView(CBV)。Djangoauth_视图默认情况下使用Django管理设计模板。如何仅以auth\u视图的形式使用自己的模板 我尝试的是: 我正在尝试设置一个模板\u名称。但是,auth\u视图表单不会出现。。。 只有我提供的模板才会加载 url.py 模板 alterar_password.html {%extends'settings/settings.html%} {%lo
auth_views
,特别是PasswordChangeView(CBV)。Djangoauth_视图
默认情况下使用Django管理设计模板。如何仅以auth\u视图
的形式使用自己的模板
我尝试的是:
我正在尝试设置一个
模板\u名称
。但是,auth\u视图
表单不会出现。。。
只有我提供的模板才会加载
url.py
模板
alterar_password.html
{%extends'settings/settings.html%}
{%load staticfiles%}
{%block settings%}
{%endblock%}
我的期望:
我期待着使用
auth_views
提供的表单和我自己的模板,这样我就可以避免为用户设计Django管理员。您可以在模板中使用此或类似的代码。您的视图将通过自定义模板中的标准“表单”,您必须在那里渲染它
例如:
<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>
密码更改
{%csrf_令牌%}
{{form.as_p}}
提交
重置
您可以在模板中使用此代码或类似代码。您的视图将通过自定义模板中的标准“表单”,您必须在那里渲染它
例如:
<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>
密码更改
{%csrf_令牌%}
{{form.as_p}}
提交
重置
您的问题不清楚。这是完整的模板吗?如果是这样,那么表单当然不会出现,@DanielRoseman我正在通过url中的模板名称传递我的模板。表单没有显示,我如何修复它?显然,您必须在传递的模板中呈现它,如{{form.as_p}}。@NafeesAnwar I认为有一种简单的方法可以做到这一点。我理解使用{{form.as_p}},但是在这种情况下,我没有访问表单的权限。我正在使用auth_views模块中的视图。我认为通过在URL中传递模板,它会自动将表单调整为我的模板。@NafeesAnwar来自Django文档:template\u name:用于显示密码更改表单的模板的全名。如果未提供,则默认为registration/password\u change\u form.html。您的问题不清楚。这是完整的模板吗?如果是这样,那么表单当然不会出现,@DanielRoseman我正在通过url中的模板名称传递我的模板。表单没有显示,我如何修复它?显然,您必须在传递的模板中呈现它,如{{form.as_p}}。@NafeesAnwar I认为有一种简单的方法可以做到这一点。我理解使用{{form.as_p}},但是在这种情况下,我没有访问表单的权限。我正在使用auth_views模块中的视图。我认为通过在URL中传递模板,它会自动将表单调整为我的模板。@NafeesAnwar来自Django文档:template\u name:用于显示密码更改表单的模板的全名。如果未提供,则默认为registration/password\u change\u form.html。这很有效!这正是我所期望的结果。我最初认为这一步应该是自动的。谢谢Aleksei KhatkevichYou欢迎你。请点击答案左侧的“V”按钮确认我的答案。这很有效!正是我预期的结果。我最初认为这一步会自动完成。谢谢Aleksei KhatkevichYou欢迎。请点击答案左侧的“V”按钮确认我的答案。
<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>