MyGear - Passwort ändern

- Veröffentlicht unter Programmieren von - Permalink

Der letzte Teil der accounts-App kommt. Ich möchte, dass ein User sein Passwort ändern kann. Auch das ist, dank eingebauter Funktionen, ganz banal.

In der urls.py der accounts-App füge ich hinzu:

path('password_change/', auth_views.PasswordChangeView.as_view(template_name='password_change_form.html'), name='password_change'),
path('password_change/done', auth_views.PasswordChangeDoneView.as_view(template_name='password_change_done.html'), name='password_change_done'),

Dann werden die angegebenen Templates gefüllt.

password_change_form.html

{% extends "home.html" %}
{% block login %}
    <h2>Change password</h2>
    <form method="post">
        {% csrf_token %}
        {{ form.as_p }}
        <input type="submit" value="Change" />
    </form>
    <a href="{% url 'home' %}">Back to Home</a>
{% endblock %}

und

password_change_done.html

{% extends "home.html" %}
{% block login %}
    <h2>Password changed</h2>
    <a href="{% url 'home' %}">Back to Home</a>
{% endblock %}

Am Ende wird in der user.html noch der Link ergänzt:

<a href="{% url 'password_change' %}">Change password</a>

Fertig.

Das ist unsere accounts-App. Der Vorteil daran, sie kann so, wie sie ist, einfach in jedes andere Projekt mit Django integriert werden. In der App selbst ist nichts, was zum Grundprojekt gehört und das UserModel kann problemlos angepasst werden.

Schlagworte: