plain.password
Password authentication for Plain.
Usage
To enable password authentication in your Plain application, add the PasswordLoginView
to your urls.py
:
# app/urls.py
from plain.urls import path
from plain.passwords.views import PasswordLoginView
urlpatterns = [
path('login/', PasswordLoginView.as_view(), name='login'),
# ...
]
This sets up a basic login view where users can authenticate using their username and password.
FAQs
How do I customize the login form?
To customize the login form, you can subclass PasswordLoginForm
and override its fields or methods as needed. Then, set the form_class
attribute in your PasswordLoginView
to use your custom form.
# app/forms.py
from plain.passwords.forms import PasswordLoginForm
class MyCustomLoginForm(PasswordLoginForm):
# Add custom fields or override methods here
pass
# app/views.py
from plain.passwords.views import PasswordLoginView
from .forms import MyCustomLoginForm
class MyPasswordLoginView(PasswordLoginView):
form_class = MyCustomLoginForm
Update your urls.py
to use your custom view:
# app/urls.py
from plain.urls import path
from .views import MyPasswordLoginView
urlpatterns = [
path('login/', MyPasswordLoginView.as_view(), name='login'),
# ...
]
1from plain.urls import Router, path
2
3from . import views
4
5
6class PasswordsRouter(Router):
7 namespace = "passwords"
8 urls = [
9 path("password_change/", views.PasswordChangeView, name="password_change"),
10 path(
11 "password_change/done/",
12 views.PasswordChangeDoneView,
13 name="password_change_done",
14 ),
15 path("password_reset/", views.PasswordResetView, name="password_reset"),
16 path(
17 "password_reset/done/",
18 views.PasswordResetDoneView,
19 name="password_reset_done",
20 ),
21 path(
22 "reset/<uidb64>/<token>/",
23 views.PasswordResetConfirmView,
24 name="password_reset_confirm",
25 ),
26 path(
27 "reset/done/",
28 views.PasswordResetCompleteView,
29 name="password_reset_complete",
30 ),
31 ]