Получение «запроса» в представлении на основе класса

#django

Вопрос:

Я пытаюсь подкласс LoginView, чтобы я мог изменить имя шаблона, которое является частью LoginView. Я упростил свою функцию template_file_name для целей этого примера.

 def template_file_name(request, template_name, page_title):  return template_name   class CustomLoginView(LoginView):   template_name = template_file_name(self.request, 'login.html', "Login")  

Я получаю эту ошибку:

 NameError: name 'self' is not defined  

Спасибо!

Ответ №1:

get_template_names Вместо этого переопределите метод. У вас нет доступа к себе, когда создается класс

 class CustomLoginView(LoginView):  def get_template_names(self):  return template_file_name(self.request, 'login.html', "Login")