NictheDEV
NictheDEV

Reputation: 187

Print users' data inside a template in Django

I'm new to Django and I'm trying to print users' information such as email, first name, username in a template that should work as "My Profile Page".

For some reason, the only thing I'm able to print is the username of the logged-in user with {{request.user.username}} and the id (both {{request.user.id}} and {{user.id}} work)

Users are registered using the UserCreationForm

If I try to print the email with {{request.user.email}} or {{user.email}} nothing is shown.

My settings.py is the default one

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates']
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

Upvotes: 0

Views: 161

Answers (1)

Sergey Pugach
Sergey Pugach

Reputation: 5669

My assumption that your user email field is not required and it's None that is why it's not printed. You can change it either via admin or via Django shell ./manage.py shell find your user user = User.objects.get(id=your_id) then user.email = '[email protected]' and user.save() and check

Upvotes: 1

Related Questions