Расширение общих классов представлений для общего получения _контекста _данных

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

def get_context_data(self, **kwargs):
    # Call the base implementation first to get a context
    context = super(MyListView, self).get_context_data(**kwargs)
    # Add in the house
    context['house'] = self.get_object().house
    return context

Поскольку я не люблю повторяться, я подумал, что могу создать новый класс, расширяющий представление, а затем основывать все свои представления на новом расширенном классе представления. Дело в том, что я использую 4 класса представлений :CreateView, UpdateView, ListView и DeleteView. Мне действительно нужно создать новый класс для каждого из них?

Разве нет чего-то вроде «базового» класса представления django? Может быть, более разумный способ сделать это? Спасибо заранее!

15
задан Clash 26 April 2012 в 16:12
поделиться