Django get_context_data никогда не вызывается в MyCustomTemplateView? - PullRequest
1 голос
/ 07 марта 2012

РЕДАКТИРОВАТЬ: Я полностью неправильно понял правильный путь к подклассу TemplateView, который лежит в основе этой ошибки.Я также перебил метод get - которого у меня не должно быть в TemplateView.

Исходный вопрос:

Я создал подкласс TemplateView:

class MyTemplateView(TemplateView):

  def get_context_data(self,*args, **kwargs):
    context = super(MyTemplateView, self).get_context_data(*args, **kwargs)
    context['current_business_view'] = self.kwargs.get('user_business_id')
    return context

Все мои подклассы Views MyTemplateView.

Я ожидал, что get_context_data будет вызываться, но похоже, что его никогда не вызывают - что мне здесь не хватает?

1 Ответ

1 голос
/ 07 марта 2012

Я думаю, что функция вызывается, но значение user_business_id равно None.

Попробуйте выполнить отладку с помощью отладчика Python.

class MyTemplateView(TemplateView):

  def get_context_data(self,*args, **kwargs):
      context = super(MyTemplateView, self).get_context_data(*args, **kwargs)
      context['current_business_view'] = self.kwargs.get('user_business_id')
      import pdb; pdb.set_trace();
      return context

Теперь, когда вы запустите Python manage.py runserver, сервер будетостановка в точке останова.Вы можете напечатать контекст контекста, чтобы увидеть, что находится в контексте.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...