16

Django's User Authentication system ( http://docs.djangoproject.com/en/dev/topics/auth/ ) is incredibly helpful in working with users. However, the documentation talks about password reset forms and makes it seem like it takes care of it the same way it does user login/logout.

The default URL for login and logout is

/accounts/login/ & /accounts/logout

Are there already defaults for changing the password, or do I have to build that functionality?

the
  • 21,007
  • 11
  • 68
  • 101
Matthias
  • 335
  • 1
  • 3
  • 11

2 Answers2

26

If you look at django.contrib.auth.urls you can see the default views that are defined. That would be login, logout, password_change and password_reset.

These URLs are normally mapped to /admin/urls.py. This URLs file is provided as a convenience to those who want to deploy these URLs elsewhere. This file is also used to provide a reliable view deployment for test purposes.

So you can just hook them up in your urlconf:

url('^accounts/', include('django.contrib.auth.urls')),

As you probably want to customize those views (different form or template), in my opinion you will redefine these urls anyway. But it's a good starting point nevertheless.

Reiner Gerecke
  • 11,936
  • 1
  • 49
  • 41
1

Just a heads up this should now be

from django.urls import include
path("accounts/", include("django.contrib.auth.urls")),
ark
  • 749
  • 3
  • 8
  • 29