Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django get_context_数据从未在MyCustomTemplateView中调用?_Django_Django Templates - Fatal编程技术网

Django get_context_数据从未在MyCustomTemplateView中调用?

Django get_context_数据从未在MyCustomTemplateView中调用?,django,django-templates,Django,Django Templates,EDIT:我完全误解了将TemplateView子类化的正确方法,这是这个错误的基础。我也过度使用了get方法,这在TemplateView中是不应该有的 原始问题: 我已经创建了TemplateView的子类: class MyTemplateView(TemplateView): def get_context_data(self,*args, **kwargs): context = super(MyTemplateView, self).get_context_data(*

EDIT:我完全误解了将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
所有我的视图都是MyTemplateView的子类


我原以为会调用get\u context\u data,但它似乎从未被调用过-我在这里遗漏了什么?

我认为该函数已被调用,但user\u business\u 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时,服务器将在断点处停止。 您可以键入打印上下文以查看上下文中的内容


希望这能有所帮助。

我认为该函数已被调用,但user\u business\u 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时,服务器将在断点处停止。 您可以键入打印上下文以查看上下文中的内容


希望这能有所帮助。

在URL.py中,该视图的外观如何?我完全误解了如何使用TemplateView,这是我的错误的基础。这一切都像它应该的那样工作,我彻底消除了错误的方法。对于任何偶然发现这个问题的人来说,
get\u context\u data
方法只会为处理目标url的视图类调用。也就是说,如果你有Sjaak遇到的这个问题,也要检查你的
urls.py
配置,并确保所需的url没有指向不同的、意外的视图(这是发生在我身上的事情,并导致我发了这篇文章)。在urls.py中如何查找此视图?我完全误解了如何使用TemplateView,这是我的错误的基础。这一切都像它应该的那样工作,我彻底消除了错误的方法。对于任何偶然发现这个问题的人来说,
get\u context\u data
方法只会为处理目标url的视图类调用。也就是说,如果您有Sjaak遇到的这个问题,也请检查您的
url.py
配置,确保所需的url没有指向不同的、意外的视图(这是发生在我身上的事情,并引导我找到此帖子)。感谢您的回答,但是我完全误解了TemplateView的使用-请参阅openingpost中的我的评论。感谢您的回答,但是我完全误解了TemplateView的使用-请参阅openingpost中的我的评论。