Запретите Django DetailView добавлять контекст шаблона с именем объекта

У меня есть DetailView для пользователей, и, похоже, он добавляет контекстную переменную user. Это проблематично, потому что у меня есть контекстная переменная user, содержащая текущего пользователя, которая переопределяется. Как я могу предотвратить добавление DetailView этой контекстной переменной?

Определите метод get_context_data в своем DetailView и удалите или измените пользовательскую переменную из контекста

from django.views.generic import DetailView

class MyDetailView(DetailView):
    model = YourModel
    template_name = 'your_template.html'
    
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        
        # remove the 'user' context variable if it exists OR
        if 'user' in context:
            del context['user']
        # alternatively, you could update it to use your own user context variable
        # context['user'] = self.request.user
        
        return context
Вернуться на верх