2016-04-15 12 views

Antwort

4

Flask führt keine Anwendung, es ist die Anwendung. uWSGI führt Anwendungen aus, die mit Flask erstellt wurden. Flask ist nicht erforderlich, aber einige Anwendung ist.

WSGI ist ein in PEP 3333 definierter Standard, der beschreibt, wie ein HTTP-Server mit einer Python-Anwendung kommuniziert. uWSGI implementiert die Serverseite von WSGI. Flask ist ein Framework zum Erstellen von Programmen, die die Anwendungsseite von WSGI implementiert.

Da WSGI ein dokumentierter Standard ist, wird Flask zum Erstellen einer WSGI-Anwendung nicht benötigt. uWSGI implementiert die Anwendungsseite nicht, also würden Sie immer noch eine separate Anwendung schreiben und uWSGI verwenden, um das zu bedienen. Jedes andere WSGI-Framework könnte verwendet werden oder es könnte manuell implementiert werden.

Auf der elementarsten einer WSGI Anwendung ist eine, die einen aufrufbaren environ dict start_response und Funktion übernimmt, wirkt auf die Daten in der dict ruft start_response mit Status und Header, dann den Körper der Antwort zurückgibt. Zum Beispiel könnte uWSGI genauso gut dienen, wie es eine Flask-Anwendung dienen könnte.

def basic_application(environ, start_response): 
    start_response('200 OK', [('Content-type', 'text/plain')]) 
    return b'Hello, World!' 

Von der PEP:

sollte dies nicht, dass Anwendungsentwickler WSGI als Web-Programmierung API verwenden, wird verstanden, verstanden werden! Es wird davon ausgegangen, dass Anwendungsentwickler weiterhin vorhandene, hochrangige Framework-Services zur Entwicklung ihrer Anwendungen nutzen werden. WSGI ist ein Tool für Framework- und Server-Entwickler und soll Anwendungsentwickler nicht direkt unterstützen.

Während es möglich ist, wird es nicht empfohlen. Es gibt zu viele Dinge (siehe die PEP), die schwer zu korrigieren sind und nicht besonders interessant oder einfach zu implementieren, die erforderlich wären, um etwas leistungsfähigeres als das obige Beispiel zu schreiben. Aus diesem Grund existieren Frameworks wie Flask.

Verwandte Themen