Je pense que la réponse est non! Parce que par exemple dans django, la classe HttpRequest qui a l'attribut FILES, est un dictionnaire et est peuplé par d'autres parties de framework. Donc, cet objet est créé et construit par django et seulement hérité de la classe d'objets, donc c'est juste un dictionnaire.
class HttpRequest(object):
"""A basic HTTP request."""
# The encoding used in GET/POST dicts. None means use default setting.
_encoding = None
_upload_handlers = []
def __init__(self):
# WARNING: The `WSGIRequest` subclass doesn't call `super`.
# Any variable assignment made here should also happen in
# `WSGIRequest.__init__()`.
self.GET = QueryDict(mutable=True)
self.POST = QueryDict(mutable=True)
self.COOKIES = {}
self.META = {}
self.FILES = MultiValueDict()
self.path = ''
self.path_info = ''
self.method = None
self.resolver_match = None
self._post_parse_error = False
self.content_type = None
self.content_params = None
Vous pouvez voir le code source complet ici:
https://docs.djangoproject.com/en/1.10/_modules/django/http/request/#HttpRequest
Pourquoi avez-vous besoin? Il y a l'environnement WSGI sous-jacent avec les données brutes, qui est "équivalent" au PHP brut dans le sens où tout ce qui utilise WSGI utilise son environnement. – davidism
@davidism Je travaille sur une bibliothèque qui stocke le fichier téléchargé et je veux le rendre générique pour tous les frameworks Python. Comment puis-je obtenir l'environnement de WSGI dans tous les cadres? – st3fan
La façon dont cela est généralement géré est que vous écrivez votre bibliothèque puis écrivez des extensions pour les frameworks que vous supportez. Dans ce cas, vous ne voudrez probablement pas de middleware WSGI, car vous devrez analyser le corps multi-parties vous-même et vous assurer de ne pas supprimer les données afin que les frameworks puissent toujours les lire eux-mêmes en aval. – davidism