Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Передать переменную в HTML через class в views.py [RSS Feed]

#1 Сен. 6, 2023 10:00:03

san7667
Зарегистрирован: 2023-08-17
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать переменную в HTML через class в views.py

Добрый день, есть фунуция которая возвращает из профиля роль пользователя:

@login_required
def search_role(): # метод перехода на страницу авторизации
user_profile = request.user.profile # записываем все поля текущего профиля учетной записи в user_profile
role = user_profile.role
return(role)

Вопрос, как мне передать значение переменной функции в класс???

 class RegistrationSelect_record(LoginRequiredMixin,generic.ListView): 
    role = search_role
    model = Registration
    template_name = 'main/form_main.html'
    context_object_name = 'reg'
    paginate_by = 11 
    role = search_role #пытаюсь так, жду просто значение переменной role из функции searche_role
#но пишет ошибку что не может найти в классе атрибут user, хотя причем тут этот атрибут профиля, я
# хочу получить просто значения переменной role из search_role ????
    def get_context_data(self, **kwargs):
        context = super(RegistrationSelect_record, self).get_context_data(**kwargs)
        context.update({'role': self.role})
        return context

Отредактировано san7667 (Сен. 6, 2023 10:45:53)

Офлайн

#2 Сен. 6, 2023 10:52:03

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Передать переменную в HTML через class в views.py

для начала если ты вызываешь функцию то добавляй ()

 role = search_role()



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Сен. 6, 2023 11:05:56

san7667
Зарегистрирован: 2023-08-17
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать переменную в HTML через class в views.py

ZerG
для начала если ты вызываешь функцию то добавляй ()

Прикреплённый файлы:
attachment 1.png (149,0 KБ)

Офлайн

#4 Сен. 6, 2023 13:51:31

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Передать переменную в HTML через class в views.py

Зачем ты вобще ету ункцию берешь если и так есть обьект?
что-то типа

 class RegistrationSelect_record(LoginRequiredMixin, generic.ListView):
    model = Registration
    template_name = "main/form_main.html"
    context_object_name = "reg"
    paginate_by = 11
    def get_context_data(self, **kwargs):
        context = super(RegistrationSelect_record, self).get_context_data(**kwargs)
        role = self.request.user.role
        context.update({"role": self.request.user.role})
        return context
Или как там оно называется - попробуй с айди например
 self.request.user.id



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

  • Начало
  • » Django
  • » Передать переменную в HTML через class в views.py[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version