编辑:我完全误解了继承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_context_data,但看起来它永远不会被调用 - 我在这里缺少什么?
答案 0 :(得分:1)
我认为函数已被调用,但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时,服务器将在断点处停止。 您可以键入打印上下文以查看上下文中的内容。
希望这有帮助。