Запретите 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