Index: django_src/django/http/__init__.py
===================================================================
--- django_src/django/http/__init__.py	(revision 6456)
+++ django_src/django/http/__init__.py	(working copy)
@@ -20,27 +20,27 @@
 class HttpRequest(object):
     "A basic HTTP request"
 
-    # The encoding used in GET/POST dicts. None means use default setting.
+    # The encoding used in GET/POST/PUT dicts. None means use default setting.
     _encoding = None
 
     def __init__(self):
-        self.GET, self.POST, self.COOKIES, self.META, self.FILES = {}, {}, {}, {}, {}
+        self.GET, self.POST, self.PUT, self.COOKIES, self.META, self.FILES = {}, {}, {}, {}, {}, {}
         self.path = ''
         self.method = None
 
     def __repr__(self):
-        return '<HttpRequest\nGET:%s,\nPOST:%s,\nCOOKIES:%s,\nMETA:%s>' % \
-            (pformat(self.GET), pformat(self.POST), pformat(self.COOKIES),
-            pformat(self.META))
+        return '<HttpRequest\nGET:%s,\nPOST:%s,\nPUT:%s,\nCOOKIES:%s,\nMETA:%s>' % \
+            (pformat(self.GET), pformat(self.POST), pformat(self.PUT), 
+            pformat(self.COOKIES), pformat(self.META))
 
     def __getitem__(self, key):
-        for d in (self.POST, self.GET):
+        for d in (self.POST, self.GET, self.PUT):
             if key in d:
                 return d[key]
-        raise KeyError, "%s not found in either POST or GET" % key
+        raise KeyError, "%s not found in either POST, GET or PUT" % key
 
     def has_key(self, key):
-        return key in self.GET or key in self.POST
+        return key in self.GET or key in self.POST or key in self.PUT
 
     __contains__ = has_key
 
@@ -81,7 +81,7 @@
 
     def _set_encoding(self, val):
         """
-        Sets the encoding used for GET/POST accesses. If the GET or POST
+        Sets the encoding used for GET/POST/PUT accesses. If the GET, POST or PUT
         dictionary has already been created, it is removed and recreated on the
         next access (so that it is decoded correctly).
         """
@@ -90,6 +90,8 @@
             del self._get
         if hasattr(self, '_post'):
             del self._post
+        if hasattr(self, '_put'):
+            del self._put
 
     def _get_encoding(self):
         return self._encoding
