Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django listview从url捕获值,然后传递到模板_Django - Fatal编程技术网

Django listview从url捕获值,然后传递到模板

Django listview从url捕获值,然后传递到模板,django,Django,我使用 def get_queryset(self): name= self.request.GET.get('name') 现在要将此变量传递给模板。就像: 您已经搜索:{{name}在基于类的视图中,get\u queryset用于构造对象的查询集,如名称所示,例如在ListView中,将此查询集传递给模板,以便可以呈现查询集中的项目 在这里,您希望向上下文词典添加一些内容,在这种情况下,您需要修补函数,因此: def get_context_data(self, *args, *

我使用

def get_queryset(self):
    name= self.request.GET.get('name')
现在要将此变量传递给模板。就像:
您已经搜索:{{name}

在基于类的视图中,
get\u queryset
用于构造对象的查询集,如名称所示,例如在
ListView
中,将此查询集传递给模板,以便可以呈现查询集中的项目

在这里,您希望向上下文词典添加一些内容,在这种情况下,您需要修补函数,因此:

def get_context_data(self, *args, **kwargs):
    context = super().get_context_data(*args, **kwargs)
    context['name'] = self.request.GET.get('name')
    return context
def get_context_数据(self、*args、**kwargs):
context=super()。获取上下文数据(*args,**kwargs)
上下文['name']=self.request.GET.GET('name'))
返回上下文
请注意,您应该返回一个字典,因此这里我们修改了从超级调用获得的字典。调用
super().get\u context\u data(..)
方法不是必需的,例如,您可以返回仅包含所需属性的字典。但这通常不是一个好的设计,因为视图通常已经向上下文字典添加了大量数据,现在您不能再在模板中使用这些数据了。

使用这个

def get_context_data(self, **kwargs):
    name = self.request.GET.get('name')
    context = super().get_context_data(**kwargs)
    context["name"] = name
    return context
现在,name变量在模板中可用


在模板中,您可以使用{{name}

我不明白您为什么在
get\u queryset
中这样做。那是为了,嗯,得到一个查询集。您应该在
get\u context\u data
中执行此操作,并将其添加到那里的context dict中。这不是在
get\u queryset
函数中应该实现的。