Пользовательский LoginView django extra_context - PullRequest
1 голос
/ 11 марта 2019

Я сделал пользовательский loginView и не могу найти словарь extra_context в моем шаблоне. (аутентификация работает отлично)

мой файл просмотра:

from django.contrib.auth import login
from .models import EsportUser

class LoginViewCustom(LoginView):
    #esport_user = EsportUser.objects.first()
    #extra_context = {'test42': esport_user}
    template_name = 'users/login_register.html'
    extra_context = {'test42': 'test'}

мой файл шаблона (login_register.html):

<a href="#">{% trans "Account" %}  {{  test42 }}</a>

файл моих URL:

path('login/', views.LoginViewCustom.as_view(), name='login', ),

Спасибо, Стефан

1 Ответ

0 голосов
/ 12 марта 2019

Bird up @ Stéphane, добро пожаловать в StackOverflow.

Я думаю, что ваша проблема в том, что EsportUser - это ваша модель (модель - это шаблон, который вы используете для создания объектов).

Как только вы создаете экземпляр объекта модели EsportUser (т.е. создаете пользователя, судя по тому, что вы делаете), вы хотите запросить вашу базу данных, чтобы получить объекты, принадлежащие этой модели , затем передать этот объект (или некоторые атрибуты объекта) в шаблон.

Предполагая, что у вас есть экземпляр объекта EsportUser (т. Е. Создан пользователь), вы можете попробовать:

# here you query the first EsportUser object
esport_user = EsportUser.objects.first()

# here you pass that object into extra_context - not the model itself
extra_context = {'test42': esport_user}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...