本文整理汇总了Python中werkzeug.datastructures.MultiDict.to_dict方法的典型用法代码示例。如果您正苦于以下问题:Python MultiDict.to_dict方法的具体用法?Python MultiDict.to_dict怎么用?Python MultiDict.to_dict使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类werkzeug.datastructures.MultiDict
的用法示例。
在下文中一共展示了MultiDict.to_dict方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: delete
# 需要导入模块: from werkzeug.datastructures import MultiDict [as 别名]
# 或者: from werkzeug.datastructures.MultiDict import to_dict [as 别名]
def delete(self, itemid):
data = MultiDict(request.json) if request.json is not None else request.form
if data:
data = data.to_dict()
filt = self.filter_by.copy() if self.filter_by else {}
filt["_id"] = itemid
self.model.update(filt, {"$pull": {self.field: data}})
return jsonify(success=True)
示例2: post
# 需要导入模块: from werkzeug.datastructures import MultiDict [as 别名]
# 或者: from werkzeug.datastructures.MultiDict import to_dict [as 别名]
def post(self, itemid):
item = self._getitem(itemid)
data = MultiDict(request.json) if request.json is not None else request.form
if hasattr(item, "append_raw"):
item.append_raw(data)
elif data:
data = data.to_dict()
filt = self.filter_by.copy() if self.filter_by else {}
filt["_id"] = itemid
self.model.update(filt, {self.field: {"$push": data}})
"""
示例3: args
# 需要导入模块: from werkzeug.datastructures import MultiDict [as 别名]
# 或者: from werkzeug.datastructures.MultiDict import to_dict [as 别名]
def args(self):
if PY2:
args_items = request.args.iteritems(multi=True)
else:
args_items = request.args.items(multi=True)
args = MultiDict(list(args_items) + list(request.view_args.items()))
args.pop('page', None)
# flat dict if non-multi values used
for k in args:
if len(args.getlist(k)) > 1:
return args
return args.to_dict()
示例4: url_update_endpoint_args
# 需要导入模块: from werkzeug.datastructures import MultiDict [as 别名]
# 或者: from werkzeug.datastructures.MultiDict import to_dict [as 别名]
def url_update_endpoint_args(endpoint, **kwargs):
"""Like url_for by using current URL for unspecified parameters.
Return the URL for passed endpoint using args from current request and kwargs.
"""
# request.args contains parameters from the query string
# request.view_args contains parameters that matched the view signature
args = MultiDict(request.args)
args.update(request.view_args)
for arg, value in kwargs.items():
if isinstance(value, Iterable) and not isinstance(value, str):
args.setlist(arg, value)
else:
args[arg] = value
# Now set any individual args to the object instead of a list of len 1
# TODO Issue #4
# this is broken if it supposed to be a list of Iterables (e.g. strings)
args = args.to_dict(flat=False)
for key in set(args.keys()):
values = args[key]
if len(values) == 1:
args[key] = values[0]
return url_for(endpoint, **args)
示例5: test_multidict
# 需要导入模块: from werkzeug.datastructures import MultiDict [as 别名]
# 或者: from werkzeug.datastructures.MultiDict import to_dict [as 别名]
#.........这里部分代码省略.........
del md['d']
assert md.getlist('d') == []
# keys, values, items, lists
assert list(sorted(md.keys())) == ['a', 'b', 'c']
assert list(sorted(md.iterkeys())) == ['a', 'b', 'c']
assert list(sorted(md.values())) == [1, 2, 3]
assert list(sorted(md.itervalues())) == [1, 2, 3]
assert list(sorted(md.items())) == [('a', 1), ('b', 2), ('c', 3)]
assert list(sorted(md.items(multi=True))) == \
[('a', 1), ('a', 2), ('a', 3), ('b', 2), ('c', 3)]
assert list(sorted(md.iteritems())) == [('a', 1), ('b', 2), ('c', 3)]
assert list(sorted(md.iteritems(multi=True))) == \
[('a', 1), ('a', 2), ('a', 3), ('b', 2), ('c', 3)]
assert list(sorted(md.lists())) == [('a', [1, 2, 3]), ('b', [2]), ('c', [3])]
assert list(sorted(md.iterlists())) == [('a', [1, 2, 3]), ('b', [2]), ('c', [3])]
# copy method
copy = md.copy()
assert copy['a'] == 1
assert copy.getlist('a') == [1, 2, 3]
# update with a multidict
od = MultiDict([('a', 4), ('a', 5), ('y', 0)])
md.update(od)
assert md.getlist('a') == [1, 2, 3, 4, 5]
assert md.getlist('y') == [0]
# update with a regular dict
md = copy
od = {'a': 4, 'y': 0}
md.update(od)
assert md.getlist('a') == [1, 2, 3, 4]
assert md.getlist('y') == [0]
# pop, poplist, popitem, popitemlist
assert md.pop('y') == 0
assert 'y' not in md
assert md.poplist('a') == [1, 2, 3, 4]
assert 'a' not in md
assert md.poplist('missing') == []
# remaining: b=2, c=3
popped = md.popitem()
assert popped in [('b', 2), ('c', 3)]
popped = md.popitemlist()
assert popped in [('b', [2]), ('c', [3])]
# type conversion
md = MultiDict({'a': '4', 'b': ['2', '3']})
assert md.get('a', type=int) == 4
assert md.getlist('b', type=int) == [2, 3]
# repr
md = MultiDict([('a', 1), ('a', 2), ('b', 3)])
assert "('a', 1)" in repr(md)
assert "('a', 2)" in repr(md)
assert "('b', 3)" in repr(md)
# add and getlist
md.add('c', '42')
md.add('c', '23')
assert md.getlist('c') == ['42', '23']
md.add('c', 'blah')
assert md.getlist('c', type=int) == [42, 23]
# iter interfaces
assert list(zip(md.keys(), md.listvalues())) == list(md.lists())
assert list(zip(md, md.iterlistvalues())) == list(md.iterlists())
assert list(zip(md.iterkeys(), md.iterlistvalues())) == list(md.iterlists())
# setdefault
md = MultiDict()
md.setdefault('x', []).append(42)
md.setdefault('x', []).append(23)
assert md['x'] == [42, 23]
# to dict
md = MultiDict()
md['foo'] = 42
md.add('bar', 1)
md.add('bar', 2)
assert md.to_dict() == {'foo': 42, 'bar': 1}
assert md.to_dict(flat=False) == {'foo': [42], 'bar': [1, 2]}
# popitem from empty dict
assert_raises(KeyError, MultiDict().popitem)
assert_raises(KeyError, MultiDict().popitemlist)
# key errors are of a special type
assert_raises(MultiDict.KeyError, MultiDict().__getitem__, 42)
# setlist works
md = MultiDict()
md['foo'] = 42
md.setlist('foo', [1, 2])
assert md.getlist('foo') == [1, 2]