Tags

Tutorial Django: Cara Membuat Reset Password Pada Django

Tutorial Django: Cara Membuat Reset Password Pada Django

Cara Membuat Reset Password Pada Django - Dalam pengembangan web, salah satu fitur yang sangat penting adalah fitur reset password.

Pada artikel ini, kita akan menjelaskan bagaimana cara membuat fitur reset password pada aplikasi web menggunakan Django menggunakan fitur bawaan alias defautl reset password pada Django.

Jika pada tutorial sebelumnya kita telah belajar tentang bagaimana cara membuat user authentication pada django, kali ini kita akan mempelajari tentang cara membuat reset password pada django.

Instalasi Django

Langkah pertama adalah menginstal Django. Kita dapat menginstalnya menggunakan pip dengan perintah berikut di command prompt atau terminal:

pip install django

Menambahkan URL

Tambahkan URL untuk halaman reset password pada file urls.py. Kita dapat menambahkan URL dengan menggunakan path function seperti di bawah ini:

from django.urls import path, include
from django.contrib.auth import views as auth_views

urlpatterns = [
    path('password_reset/', auth_views.PasswordResetView.as_view(), name='password_reset'),
    path('password_reset/done/', auth_views.PasswordResetDoneView.as_view(), name='password_reset_done'),
    path('reset/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
    path('reset/done/', auth_views.PasswordResetCompleteView.as_view(), name='password_reset_complete'),
]

Membuat Template

Kita harus membuat template untuk halaman reset password. Buat file baru dengan nama password_reset_form.html pada direktori templates/registration/. Isi file tersebut dengan kode HTML untuk tampilan halaman reset password.

{% extends "base.html" %}
{% block content %}
    <h2>Reset Password</h2>
    <form method="post">
        {% csrf_token %}
        {{ form.as_p }}
        <button type="submit">Reset Password</button>
    </form>
{% endblock %}

Menambahkan View

Tambahkan view untuk halaman reset password pada file views.py.

from django.contrib.auth.forms import PasswordResetForm
from django.contrib.auth import views as auth_views
from django.urls import reverse_lazy
from django.views.generic.edit import FormView

class PasswordResetView(FormView):
    template_name = 'registration/password_reset_form.html'
    form_class = PasswordResetForm
    success_url = reverse_lazy('password_reset_done')

    def form_valid(self, form):
        form.save()
        return super().form_valid(form)

Menambahkan Email Setting

Terakhir, kita perlu menambahkan pengaturan email pada file settings.py. Kita dapat menambahkan kode di bawah ini untuk menggunakan SMTP server Gmail.

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'your-gmail-username@gmail.com'
EMAIL_HOST_PASSWORD = 'your-gmail-password'

Pada baris kode di atas, kita memberikan beberapa variable agar aplikasi django kita bisa mengirimkan email yang berisikan link untuk melakukan reset password pada django. Kita menggunakan SMTP bawaan gmail sebagai contoh.

Jika kita pergi ke `localhost:8000/password_reset`, maka kita akan melihat gambar form reset password seperti di bawah ini:

cara membuat reset password pada django

demikianlah tutorial tentang bagaimana cara membuat fitur reset password pada Django.


Baca jugaCara Membuat Custom Permission Pada Django



Bagikan tutorial ini:
Laporkan

Dapatkan Tutorial Exclusive Via Email?


Partners