使用request.GET进行递归[[]]

时间:2012-11-22 12:55:33

标签: python django http-headers

我正在尝试访问django上服务器响应给出的值

  

“GET   /定制/报告/ SID = 1&安培; buzz_graph%5Btitle%5D =巴兹+格拉夫&安培; buzz_graph%5Badded%5D =真安培; source_distribution%5Btitle%5D =来源+分布&安培; geographic_distribution%5Btitle%5D =地理+分布&安培; gender_distribution% 5Btitle%5D =性别+分布&安培; age_group_distribution%5Btitle%5D =年龄组+分布&安培; top_phrases%5Btitle%5D =顶部+词   HTTP / 1.1“200 8264

由于%5B%5D用作[]

我无法使用request.GET['buzz_graph['title']']访问这些值。如何从响应中访问这些值?

提前致谢

2 个答案:

答案 0 :(得分:1)

没有引号 - buzz_graph%5Btitle%5Dbuzz_graph[title],所以你想要的是:

request.GET['buzz_graph[title]']

而不是类似python的request.GET['buzz_graph['title']'],它无论如何都无法工作,因为你需要转义内部引号,因为它是字符串的一部分(因为它会产生语法错误)。

答案 1 :(得分:1)

不确定这是否是合适的答案,但关键'buzz_graph[title]'适用于我

>>> from django.http import QueryDict
>>> QueryDict("""sid=1&buzz_graph%5Btitle%5D=Buzz+Graph&buzz_graph%5Badded%5D=true&source_distribution%5Btitle%5D=Source+Distribution&geographic_distribution%5Btitle%5D=Geographic+Distribution&gender_distribution%5Btitle%5D=Gender+Distribution&age_group_distribution%5Btitle%5D=Age-group+Distribution&top_phrases%5Btitle%5D=Top+Phrases""")
<QueryDict: {u'age_group_distribution[title]': [u'Age-group Distribution'], u'geographic_distribution[title]': [u'Geographic Distribution'], u'buzz_graph[title]': [u'Buzz Graph'], u'top_phrases[title]': [u'Top Phrases'], u'source_distribution[title]': [u'Source Distribution'], u'sid': [u'1'], u'buzz_graph[added]': [u'true'], u'gender_distribution[title]': [u'Gender Distribution']}>
>>> _['buzz_graph[title]']
u'Buzz Graph'