2012-04-02 12 views
7

Ich würde gerne wissen, ob es eine Möglichkeit gibt, Webseiten ohne ein großes Framework in Python zu erstellen.Python: Wie erstellt man einfache Webseiten ohne ein riesiges Framework?

Ich denke an etwas wie PHP/Apache, die nur als Sprache kommt und nicht mit zu viel Aufwand (aber ich mag nicht PHP ...). In PHP gibt es kein ORM, keine Template-Engine usw. Aber es ist sehr sehr einfach, einfach einen Hello World an den Browser zu drucken.

Ich weiß über Django und mag es wirklich, aber es ist ein bisschen zu groß für einfache Webportale (5-10 Seiten).

Ich mag wirklich etwas Einfaches, ohne zu viel zu installieren.

+3

Was erwarten Sie von dem Framework? Du hast nur gesagt, was es * nicht * tun soll. Wenn es überhaupt nichts tun sollte, wie wäre es mit HTML-Seiten mit einem guten Editor? –

+0

Dasselbe, was PHP macht, POST/GET-Werte bekommen, Verarbeitung, Echo's. –

+1

Bitte aktualisieren Sie Ihre Frage und versuchen Sie so genau wie möglich zu sein. Ansonsten lautet diese Frage "poste dein liebstes, leichtgewichtiges Python-Web-Framework", was nicht gut zu SO passt. –

Antwort

3

Haben Sie nachgeschlagen Flask?

Es ist ein viel minimalistischer Rahmen und sehr einfach einzurichten und loszulegen.

+0

Flasche ist ein ähnlicher minimalistischer Rahmen, den ich gerne benutze: http://bottlepy.org/docs/dev/ –

+0

Ja, ich kenne Flasche, ich glaube, Flasche sogar davon abgeleitet. – pcalcao

+0

ja! Das ist es! Vielen Dank. Genau das habe ich gesucht. Einfach. –

0

mod_python vielleicht?

+0

Wie lässt dich mod_python das machen? Bitte erläutern Sie, was das ist und geben Sie, wenn möglich, ein Beispiel an, damit die Leute nicht durchklicken müssen. – agf

+0

Jeder, der über Apache Bescheid weiß, wird zumindest ungefähr von dem Namen verstehen, was mod_python tut. –

1

Ich bin nicht sicher, was mit django flatseiten für Ihre Zwecke falsch ist.

Eine andere Alternative wäre, das Django-Template-System durch etwas Stärkeres, wie Jinja, zu ersetzen, so dass Sie Ihre Tag-Suppe schreiben und dort mit minimaler Logik in der Ansicht verarbeiten können.

In der Praxis (vorausgesetzt, dass Sie bereits Django kennen), ist das wahrscheinlich einfacher als die Verwendung eines Mikrorahmens (der mehr Programmierer benötigt, als Gegenleistung dafür, dass Sie überhaupt nicht interessiert sind).

0

würde ich CherryPy

import cherrypy 
class HelloWorld(object): 
    def index(self): 
     return "Hello World!" 
    index.exposed = True 

cherrypy.quickstart(HelloWorld()) 
2

gute alte CGI ist der schnellste Weg, um Ihnen den Einstieg empfehlen. Bei den meisten Konfigurationen müssen Sie lediglich ein Python-Skript in 'cgi-bin' löschen und es ausführbar machen, ohne dass etwas installiert werden muss. Google für "CGI Python", gibt es viele Tutorials, z. this one sieht ziemlich anständig aus.

0

Sicher, Sie können wirklich schlank mit der CGI oder wsgiref Route gehen. Sie erhalten jedoch, was Sie bezahlen, und ich bevorzuge Flask oder WerkZeug für alle Schmerzen, die sie verhindern.

Von wsgiref python docs:

from wsgiref.simple_server import make_server 

def hello_world_app(environ, start_response): 
    status = '200 OK' # HTTP Status 
    headers = [('Content-type', 'text/plain')] # HTTP Headers 
    start_response(status, headers) 
    return ["Hello World"] 

httpd = make_server('', 8000, hello_world_app) 
print "Serving on port 8000..." 

# Serve until process is killed 
httpd.serve_forever() 
4

Ich habe Flask (und bottle.py) in der Vergangenheit verwendet, aber in diesen Tagen habe ich eigentlich Pyramid, from the Pylons folks bevorzugen.

Pyramid ist in der Lage, ein großes, vollwertiges Framework zu sein, ist auf Flexibilität ausgelegt und hat keinen Mangel an Plugins und Erweiterungen, die zusätzliche Funktionalität hinzufügen - aber es ist auch in der Lage, kleine Projekte mit einer Datei auszuführen; siehe this tutorial for an example.

Wenn du mit Pyramid gehst, kannst du wachsen, wenn sich deine Bedürfnisse im Laufe der Zeit erweitern, während du immer noch klein anfangen kannst.

+0

Ja, Pyramide scheint cool, aber Flask ist wirklich die bessere Lösung für mein 'Problem', weil ich für größere Dinge nach Django wechseln würde. –

+0

@DavidHalter Das funktioniert nur, wenn Sie wissen, ob Ihr Projekt eine "größere Sache" sein wird. Wenn es klein anfängt und dann organisch wächst, ist der einzige Weg eine vollständige Neuschreibung. (Auch als ehemaliger Django-Entwickler bin ich mir nicht ganz im Klaren darüber, warum Sie _wollen_ mit einem grässlich entsetzlichen ORM [zumindest im Vergleich zu SQLAlchemy, dem Standard, an dem alle anderen gemessen werden sollten] auf etwas umstellen möchten, a schmerzhaft langsam Templating-Engine, ein weniger Pluggable URL-Routing-Mechanismus, und so weiter ... aber das ist eine völlig separate Konversation). –

+0

Oh, es scheint, als ob ich auch Pyramiden auschecken müsste. Ich hasse das Django ORM wegen seiner Unfähigkeit, mit zusammengesetzten Schlüsseln umzugehen. Und die Template-Engine ist wirklich sehr langsam, du hast recht (es ist viel besser mit PyPy). Pyramid klingt wirklich gut. Ich muss es versuchen. –

0

Python funktioniert gut mit CGI.

das ist die einfachste Sache, die Sie tun können: Es benötigt nur Apache und eine funktionierende Python-Umgebung und ist am ehesten mit einem Standard-PHP-Setup.Denken Sie daran, dass Ihr Python-Skript bei der Verwendung von CGI für die Ausgabe der notwendigen HTTP-Header verantwortlich ist (sys.stdout.write('Content-Type: text/html\n\n')), aber es gibt ein CGI-Modul, das Teil der Python-Standardbibliothek ist, was den Umgang mit den Rohmaterialien wesentlich erleichtert Argumente parsen, Header abrufen, Header generieren).

Verwandte Themen