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/'