Ciao a tutti, andrò dritto al dunque, sto sviluppando una piattaforma web (tipo social network) che permette di registrarsi chiedendo i classici dati di una registrazione quindi nome , cognome, università, data di nascita, mail e password.
Quando però provo a modificare la password non mi riscrive la password ma lascia quella inserita in fase di registrazione. Penso sia riferito al metodo utilizzato , allego il codice riferito al form dell'inserimento dati di un user e cambio password:
(codice)
class ProfileForm(FlaskForm):
email = EmailField('email', validators=[DataRequired(), Email(), validate_email])
name = StringField('Name', validators=[DataRequired()])
surname = StringField('Surname', validators=[DataRequired()])
dateofbirth = DateField('date of birth', validators=[DataRequired()])
university = SelectField('select university', choices=[(un.id, un.name) for un in University.query])
course = SelectField('Select course', choices=[(c.id, c.name) for c in Course.query])
password = PasswordField(
'password',
validators=[DataRequired(), Length(min=3, max=80)]
)
confirm = PasswordField(
'Repeat password',
validators=[
DataRequired(),
EqualTo('password', message='Passwords must match.')
]
)
current_password = PasswordField(
'Current password',
validators=[
DataRequired()
]
)
class ChangePasswordForm(FlaskForm):
password = PasswordField(
'password',
validators=[DataRequired(), Length(min=3, max=80)]
)
confirm = PasswordField(
'Repeat password',
validators=[
DataRequired(),
EqualTo('password', message='Passwords must match.')
]
)
QUESTO è IL CODICE USATO PER LA PAGINA IN CUI è INSERITO IL FORM
(codice)
<h3>Change Password</h3>
<form class="form-reset" role="form" method="post" action="">
{{ form.csrf_token }}
<div class="mdl-textfield mdl-js-textfield">
{{ form.current_password(placeholder="Current password", class='mdl-textfield__input') }}
<label class="mdl-textfield__label" for="{{ form.current_password.id }}">{{ form.current_password.label }}</label>
</div>
<span class="error">
{% if form.current_password.errors %}
{% for error in form.current_password.errors %}
{{ error }}
{% endfor %}
{% endif %}
</span>
<div class="mdl-textfield mdl-js-textfield">
{{ form.password(placeholder="New password", class='mdl-textfield__input') }}
<label class="mdl-textfield__label" for="{{ form.password.id }}">{{ form.password.label }}</label>
</div>
<span class="error">
{% if form.password.errors %}
{% for error in form.password.errors %}
{{ error }}
{% endfor %}
{% endif %}
</span>
<p>
<div class="mdl-textfield mdl-js-textfield">
{{ form.confirm(placeholder="Confirm", class='mdl-textfield__input') }}
<label class="mdl-textfield__label" for="{{ form.confirm.id }}">{{ form.confirm.label }}</label>
</div>
<span class="error">
{% if form.confirm.errors %}
{% for error in form.confirm.errors %}
{{ error }}
{% endfor %}
{% endif %}
</span>
</p>
<button class="mdl-button mdl-js-button mdl-button--raised mdl-button--accent" type="submit">Update</button>
</form>
</div>
</div>
<div class="mdl-layout-spacer"></div>
</div>
Spero sia stato chiaro nell'esporre il mio problema, grazie per l'attenzione!
