Django's auth
module provides all user accounts with a User
object. The User
model can be found in django.contrib.auth.models
. It provides a number of basic user functionalities, including storage of a name, e-mail address, and access privileges—as in whether the user is a staff member, has an active account, or is a super user. It also records when the user signed-up for an account and when they last logged-in.
For an e-commerce application, the default set of information stored by Django for each user is useful, but likely not enough. For example, any web store that needs to ship its product to their customers will want to store the customer's mailing address. The User
model does not include a field for mailing address, nor does it include phone numbers, birthdays, or a lot of other information that might be useful.
This is an intentionally minimalistic design on Django's part. Instead of trying to predict what fields Django developers require, the decision was...