Django get_context_数据从未在MyCustomTemplateView中调用?
EDIT:我完全误解了将TemplateView子类化的正确方法,这是这个错误的基础。我也过度使用了get方法,这在TemplateView中是不应该有的 原始问题: 我已经创建了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(*
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中的我的评论。