Python 在generic.UpdateView中传递上下文变量

Python 在generic.UpdateView中传递上下文变量,python,django,Python,Django,我有一个模板,开头是: {% extends load_template %} load_模板从我的视图中的该条件中获取值 if user == 'guest': load_template = 'damage/menus/menu.html' else: load_template = 'damage/menus/sidebarmenu.html' 我使用generic.UpdateView进行更新(这会返回一

我有一个模板,开头是:

{% extends load_template %}
load_模板从我的视图中的该条件中获取值

        if user == 'guest':
            load_template = 'damage/menus/menu.html'
        else:
            load_template = 'damage/menus/sidebarmenu.html'
我使用generic.UpdateView进行更新(这会返回一个错误,因为load\u模板变量没有值) 如何在此更新视图中将值传递给此变量?

您可以修补:


谢谢你,我的朋友
from django.views.generic.detail import UpdateView

class MyUpdateView(UpdateView):

    model = MyModel

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        if somecondition:
            load_template = 'damage/menus/menu.html'
        else:
            load_template = 'damage/menus/sidebarmenu.html'
        context['load_template'] = load_template
        return context
from django.views.generic.detail import UpdateView

class MyUpdateView(UpdateView):

    model = MyModel

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        if not request.user.is_authenticated:
            load_template = 'damage/menus/menu.html'
        else:
            load_template = 'damage/menus/sidebarmenu.html'
        context['load_template'] = load_template
        return context