Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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
Python Django将密钥作为映射列表获取_Python_Django - Fatal编程技术网

Python Django将密钥作为映射列表获取

Python Django将密钥作为映射列表获取,python,django,Python,Django,我有一个相对简单的问题,但我还没有找到最合适的解决方案 我有一个表单,它将几个用户可选择的值作为Get变量传递。其中大多数是布尔选择字段,可以选择也可以不选择。我想要的是一种简洁的方法,可以收集列表中的所有GET键(如果不是空的),并将它们映射到更易于阅读的表格标题形式 例如,如果我的get变量如下所示: ?site=1&&startdate=1988-09-09&enddate=1989-09-09&mean_air_temp=True&q=table&

我有一个相对简单的问题,但我还没有找到最合适的解决方案

我有一个表单,它将几个用户可选择的值作为Get变量传递。其中大多数是布尔选择字段,可以选择也可以不选择。我想要的是一种简洁的方法,可以收集列表中的所有GET键(如果不是空的),并将它们映射到更易于阅读的表格标题形式

例如,如果我的get变量如下所示:

?site=1&&startdate=1988-09-09&enddate=1989-09-09&mean_air_temp=True&q=table&submit=Query
我想列一张这样的清单:

['site', 'startdate', 'endate', 'man_air_temp', ...,]
然后以:

['Site Name', 'Start Date', 'End Date', 'Mean Air Temp', ...,]
然后可以将其作为模板中的表标题与我的数据关联

我知道有很多种方法可以做到这一点,但我想知道是否有一种简洁的、类似于蟒蛇的方法可以达到我想要的效果


非常感谢您的帮助。

请求中,GET参数作为类似字典的对象提供给视图。GET
。因此,您只需另一本字典即可将关键字映射到所需的标题:

header_mapping = {
    'site': 'Site Name',
    'startdate': 'Start Date'.
    ....
}
headers = [header_mapping[k] for k, v in request.GET.items() if v]

列表理解只是通过GET querydict中的(键、值)对列表进行映射,如果该值不为空,它将查找标题映射并将其添加到列表中。

GET参数在
请求中作为类似字典的对象提供给视图。GET
。因此,您只需另一本字典即可将关键字映射到所需的标题:

header_mapping = {
    'site': 'Site Name',
    'startdate': 'Start Date'.
    ....
}
headers = [header_mapping[k] for k, v in request.GET.items() if v]
列表理解只是通过GET querydict中的(键、值)对列表进行映射,如果该值不为空,它将查找标题映射并将其添加到列表中