Heim >Backend-Entwicklung >Python-Tutorial >Detaillierte Erläuterung des HeaderDict of Bottle-Quellcodes

Detaillierte Erläuterung des HeaderDict of Bottle-Quellcodes

零下一度
零下一度Original
2017-07-24 09:20:031530Durchsuche

Alle Antworten auf Rahmenanfragen basieren auf einem Prinzip http-Anfrage --> wsgi-Schnittstelle (eigentlich ist die von einer benutzerdefinierten Implementierung im Framework implementierte Funktion unten gekapselt) --> Die Erläuterung der WSGI-Schnittstelle finden Sie im Tutorial von Liao Und verwandeln Sie den Wert in ein iterierbares Objekt und den Wert in ein Listenobjekt, dh Wert = [Wert]. Der WSGI-Standard definiert, dass ein String-Typ in einen Listentyp konvertiert werden soll, was ihm eine bessere Darstellung verleiht. Der Server muss nicht alles auf einmal ausgeben, sondern kann Yield verwenden, um die Ausgabe zu steuern, um zu vermeiden, dass zu viel auf einmal ausgegeben wird. Alles in allem implementiert diese Klasse, die dict kapselt, zwei Funktionen:

class HeaderDict(dict):''' A dictionary with case insensitive (titled) keys.        You may add a list of strings to send multible headers with the same name.'''def __setitem__(self, key, value):return dict.__setitem__(self,key.title(), value) #注意这里使用title函数,它能将每个单词的开头大写def __getitem__(self, key):return dict.__getitem__(self,key.title())def __delitem__(self, key):return dict.__delitem__(self,key.title())def __contains__(self, key):return dict.__contains__(self,key.title())def items(self):""" Returns a list of (key, value) tuples """for key, values in dict.items(self):if not isinstance(values, list):
                values = [values]for value in values:yield (key, str(value))                def add(self, key, value):""" Adds a new header without deleting old ones """if isinstance(value, list):for v in value:self.add(key, v) #注意这里使用了递归elif key in self:if isinstance(self[key], list):self[key].append(value)else:self[key] = [self[key], value]else:          self[key] = [value]
Wert in Liste umwandeln, Datendarstellung optimieren

  1. Den ersten Buchstaben von konvertieren Das Wort im Schlüssel wird groß geschrieben

  2. Die oben genannten drei Funktionen implementieren jeweils interne Serverfehler, Umleitung und Dateidownload. Diese Funktion zum Herunterladen von Dateien implementiert die Beurteilung des Dateityps, die Einstellung des Inhaltstyps, die Beurteilung der Dateiberechtigungen, das Abrufen des Dateistatus usw. Diese Funktion ist dennoch sehr einfach und kann individuell angepasst werden.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des HeaderDict of Bottle-Quellcodes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn