request.GET & request.POST,它们都是 QueryDict 对象(只读)
除了所有Py字典的标准方法之外,还有以下方法:
1. 【速查表单】
| 方法 | 描述 |
|---|---|
| init() | 实例化 |
| update() | 更新当前 QueryDict(追加) |
| items() | 返回项目(多个返回最近的) |
| values() | 返回最近的值 |
| lists() | 类似于 items() |
| pop() | 删除并返回 |
| dict() | 将 QueryDict 转为 Py字典并返回 |
| urlencode() | |
| urlencode(safe=) | 使用safe参数传递不需要编码的字符 |
# 创建一个QueryDict 对象,模拟 request.GET>>> QueryDict('a=1&a=2&c=3')
1.1. init():实例化
# 创建操作即init()>>> QueryDict('a=1&a=2&c=3')<QueryDict: {'a': ['1', '2'], 'c': ['3']}>
传入的键值可以重复
1.2. update():更新当前 QueryDict(追加)
>>> q = QueryDict('a=1', mutable=True)>>> q.update({'a': '2'})>>> q.getlist('a')['1', '2']>>> q['a'] # returns the last'2'
mutable 是否为可变
1.3. items():返回项目(多个返回最近的)
>>> q.items()[('a', '3')]
1.4. values():返回最近的值
>>> q.values()['3']
1.5. lists():类似于 items()
>>> q.lists()[('a', ['1', '2', '3'])]
1.6. pop():删除并返回
>>> q = QueryDict('a=1&a=2&a=3', mutable=True)>>> q.pop('a')['1', '2', '3']
1.7. dict():将 QueryDict 转为 Py字典并返回
>>> q = QueryDict('a=1&a=3&a=5')>>> q.dict(){'a': '5'}
多个值重复键会保留最新的
1.8. urlencode()
>>> q = QueryDict('a=2&b=3&b=5')>>> q.urlencode()'a=2&b=3&b=5'
1.9. urlencode(safe=):使用safe参数传递不需要编码的字符
>>> q = QueryDict(mutable=True)>>> q['next'] = '/a&b/'>>> q.urlencode(safe='/')'next=/a%26b/'
