簡體   English   中英

使用django表單模板

[英]Working with django form templates

我正在嘗試使用模板(簡單的一個)來重置密碼使用Django表單和模板。 以下是使用的文件:

forms.py

from django import forms
from django.contrib.auth import get_user_model

User = get_user_model()


class ResetPasswordForm(forms.Form):
    new_password = forms.CharField(
        label='New password',
        widget=forms.PasswordInput(render_value=False),
    )
    confirm_new_password = forms.CharField(
        label='Confirm New password',
        widget=forms.PasswordInput(render_value=False),
    )

class Meta:
    model = User
    fields = ('password')

def clean(self):
    password = self.cleaned_data['new_password']
    confirm_password = self.cleaned_data['confirm_new_password']
    if password != confirm_password:
        raise forms.ValidationError(u'Passwords are not equal')
    return self.cleaned_data

reset_password.html

<html>
    <head>
        <title>Reset Password</title>
    </head>
    <body>
        <form id="reset_password_form" method="post">
            {% csrf_token %}
            {{ reset_password_form.as_p }}
            <input type="submit" name="submit" value="Reset Password" />
        </form>
    </body>
</html>

views.py調用此頁面

return render(request, "reset_password.html",
              {'form': reset_password_form})

並且輸出僅顯示“ Reset Password按鈕,其他兩個密碼字段未顯示。 有人可以指出任何錯誤或任何方式嗎?

reset_password_form變量form傳遞reset_password_form 。因此,要在模板上呈現

更改

{{ reset_password_form.as_p }}

{{ form.as_p}}

要么

{'form': reset_password_form}更改為{'reset_password_form': reset_password_form}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM