¿Cómo inyectar el mismo contexto en muchas vistas diferentes de Django?
Quiero poner información sobre un objeto en muchas vistas sin repetirlo en get_context_data en cada vista. Como entiendes, necesito una clase con get_context_data dentro, que pueda mezclar con otras vistas. Aquí, en mi ejemplo, quiero ver 'some_object' en el contexto de UpdateAnotherObjectView:
class BaseObjectInfoView(View):
def get_context_data(self, **kwargs):
context_data = super(BaseObjectInfoView, self).get_context_data(**kwargs)
context_data['some_object'] = SomeObjects.objects.get(pk=1)
return context_data
class UpdateAnotherObjectView(BaseObjectInfo, UpdateView):
template_name = 'create_object.html'
form_class = AnotherObjectForm
model = AnotherObjects
def get_context_data(self, **kwargs):
context_data = super(UpdateAnotherObjectView, self).get_context_data(**kwargs)
context_data['all_another_objects'] = AnotherObjects.objects.all()
return context_data
funciona, pero get_context_data no es parte de la clase primaria 'Ver'. ¿Puedo necesitar más clases especiales para heredar en BaseObjectInfoView?
o tal vez mejor construir contexto con otro método?