Я постоянно вижу, что мне приходится добавлять ту же дополнительную переменную в контекст многих моих представлений.Расширение общих классов классов для общего get_context_data
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? Может быть, более умный способ сделать это? Спасибо заранее!
Это потенциальное решение, хотя я не уверен, что все это увлекается этим. Http://reinout.vanrees.org/weblog/2014/05/19/context.html – rix