我正在ListView
中使用自定义混合,并想将特定values
(key
?)的list
添加到context
变量中:
class MyMixin:
mylist = ['itemA']
class MyList(MyMixin, ListView):
mylist = ['item1','item2']
def get_context_date(self, **kwargs):
context = super(ListView, self).get_context_data(**kwargs)
context['mylist'].append(self.mylist)
return context
期望的结果是mylist = ['itemA', 'item1', 'item2']
但是,结果为key_error
。将键值附加到context
的正确方法是什么?
ListView
将返回作为get_queryset()
方法的结果检索到的模型实例(或其他对象)的列表。通常是QuerySet
来检索某些模型对象,但可以是[[任何可迭代。
mylist
属性最初应如何出现在视图上下文中的代码。首先,您需要定义get_queryset方法以返回可迭代的必需对象。
或者,您可以在类级别的属性queryset
上进行设置,但是它可能不是很动态。
[下一步,您可以定义上下文变量名称,该变量将用于包含此视图正在处理的数据列表-使用context_object_name
类属性,或者如果每个请求都需要动态名称,则使用get_context_object_name方法。
mylist
__ initself) until set in
MyList.mylist`访问,或仅在方法级别上将其定义为局部变量)。 method. You can access it as a class attribute