C'est celui utilisé dans request.POST
. Notez qu'il était nécessaire de confirmer la différence de comportement avec dict
.
La caractéristique est
--Passez la chaîne de requête pour créer une instance --Immuable (mais vous pouvez passer mutable = True) --Maintenir les valeurs dans une liste (hériter de MultiValueDict)
>>> from django.http import QueryDict
>>> qd = QueryDict('spam=1&egg=2')
#Lorsque vous l'obtenez avec get, une chaîne de caractères est renvoyée
>>> qd.get('spam')
u'1'
#Obtenir la liste avec la liste des retours getlist
>>> qd.getlist('spam')
[u'1']
#Revenir à la chaîne de requête
>>> qd.urlencode()
u'egg=2&spam=1'
#Essayez de définir la valeur
>>> qd['spam'] = 100
AttributeError: This QueryDict instance is immutable
# mutable=Créer un QueryDict avec True
>>> qd2 = QueryDict('spam=1&egg=2', mutable=True)
>>> qd2.get('spam')
u'1'
>>> qd2['spam'] = 100
>>> qd2.get('spam')
100
#Essayez de convertir en dict
>>> d = dict(qd)
>>> d.get('spam')
[u'1']
Recommended Posts