2008-10-14 17 views
9

Ich bin auf der Suche nach einem Framework, das für Anfänger (in Python und Web-Entwicklung) geeignet ist.Welches Python-Framework soll verwendet werden?

Ich habe bereits von Django und web.py erfahren. Ich denke, dass eine der wichtigsten Dinge für mich eine gute Dokumentation ist.

Danke für die Hilfe, Dan

Antwort

10

Ich denke, Django einige der besten Dokumentation eines Projekts hat an denen ich gearbeitet habe. Das ist der Grund, warum wir es vor zwei Jahren gegenüber Turbogears gewählt haben, und es war die beste Technologiewahl, die wir getroffen haben.

+0

ich zweite Django. Wirklich schönes Framework und API. Ich fühle es so, wie Web-Frameworks funktionieren sollten. – Bazman

+0

Ich stimme zu, dass die Dokumentation besser ist als TurboGears. Allerdings habe ich keines der beiden verwendet, daher kann ich nicht sagen, welches besser/einfacher zu verwenden ist. – crystalattice

3

Django ist erstaunlich gut. Guido benutzt es (arbeitet bei Google). Das ist der Hauptgrund, warum ich mehr in Python als in Lua arbeite.

3

DanJ, ​​hier ist eine ziemlich gute Liste aller bekannten Python-Frameworks: http://wiki.python.org/moin/WebFrameworks

ich für Django auf dem Wikipedia-Artikel suchen würde empfehlen, Turbogears, Pylons usw. [Ich schrieb einmal einen Artikel über web.py , aber es wurde gelöscht :-(] Sie erklären die philosophischen und Komponentenunterschiede zwischen den Frameworks ziemlich gut.

Persönlich mag ich TurboGears sehr, da es auf bekannten Komponenten basiert, CherryPy (für Webservice und URL routing), Kid (für Templates) und SQLObject (für objektrelationales Mapping). Ich mag es, dass sie dem Drang widerstanden haben, "r Für alle Komponenten ", denke ich, dass das Ergebnis sehr pythonisch und einfach zu Beginn ist.

Aber Sie sollten sich einige Codebeispiele und Tutorials ansehen und entscheiden, was Ihnen am besten passt.

1

Sie sollten auch einen Blick auf web2py, die gute Dokumentation hat und ist ein sehr schönes Framework für den Aufbau von Wep-Apps.

1

Sie möchten vielleicht Karrigell betrachten. Es hat mehrere Optionen zum Programmieren der Syntax, z. reines Python, reines HTML mit Python-Skripten, Kombination, etc. Ich weiß nicht, wie gut es skaliert, weil ich es seit mehreren Jahren nicht mehr benutzt habe, aber es ist gut, wenn man mit Web-Frameworks nass wird.

+0

Absolut hervorragend für Anfänger und diejenigen, die Flexibilität mögen, und die Dokumentation ist ziemlich gut, wenn auch in Art von französisch klingendem Englisch. Version 3.0.1 hat einige Dinge konsistenter gemacht, und ich benutze es für die meisten meiner nicht-NET-Web-Arbeit. – JasonFruit

1

Echo der Antwort von wenigen, schlage ich Django vor. aus ein paar einfachen Gründen:

  1. Es folgt Standard MVC-Architektur.
  2. Sie können Ihre gesamte Anwendung direkt aus der Datenbankmodellierung modularisieren.
  3. Umfangreiche Dokumentation und kostenlose Online-Beispiel-/Projektbücher verfügbar.
  4. Viele Open-Source-Web-basierte Projekte als Referenz verfügbar.
+0

+1. Außer Django ist nicht MVC, sondern MTV (Model-View-Template). – muhuk

0

Ich nehme an, Sie sprechen über ein Web-Framework. Ich habe CherryPy verwendet und fand es sehr nützlich. Probieren Sie es aus, um eine einfache Lösung zu programmieren, und sehen Sie, wie viel es mit Ihrem Programmierstil übereinstimmt.

10

web.py?

Es ist sehr einfach und Python'y. Eine grundlegende Hallo-Welt-Web-Anwendung ist ..

import web 

urls = (
    '/(.*)', 'hello' 
) 

class hello:   
    def GET(self, name): 
     i = web.input(times=1) 
     if not name: name = 'world' 
     for c in range(int(i.times)): 
      print 'Hello,', name+'!' 

if __name__ == "__main__": web.run(urls, globals()) 

..das ist es.

Ich fand Django gezwungen Los seiner eigenen Konventionen und Code-Layout, und ich konnte mich nicht erinnern, die Middleware/Shortcuts Importe und all die anderen "Magie", die ziemlich viel erforderlich ist, um etwas zu schreiben. Ich fand es näher an Ruby on Rails als ein Python-Web-Framework.

Mit web.py, können Sie eine ganze, funktionierende Web-Anwendung schreiben, ohne dass einer web.py Helfer-Modulen - das einzige, was Sieimport web und Setup die URLs zu tun haben , was ziemlich unvermeidbar ist. (die letzte Zeile im Beispiel führt den Entwicklungswebserver aus)

Es hat viele Sachen drin, wie eine Datenbank-API, Formularhelfer, eine Template-Engine und so weiter, aber es zwingt sie nicht zu dir - Sie könnten alle Ihre HTML-Ausgabe von print "Using <b>%s</b>" % (" string formating ".strip()) tun, wenn Sie wollten!

Oh, während ich die Einfachheit betont habe, ist web.py, was http://reddit.com geschrieben ist, so ist es auch sehr fähig/zuverlässig bewiesen. Auch this post durch den web.py Autor ist eine sehr gute Erklärung warum ich web.py über Django

+2

Ach, reddit ist jetzt in Pylons geschrieben, zuletzt habe ich gehört. Ich mag web.py für kleine Projekte, aber sehr viel. –

0

sehr bevorzuge Ich habe Web-Apps mit rohen wsgi geschrieben. Vielleicht irgendwann meine eigene Bibliothek ausrollen. Ich mag nicht nur große Frameworks und so. Ich habe gelernt, http beim Schreiben in rohen wsgi zu hassen. Sie mögen es nicht wirklich, nachdem Sie erkannt haben, wie viel dummes Parsing und Interpretation Sie brauchen, um eine Datei hochzuladen.

Wegen wsgi hat Python Tonnen von Frameworks unterschiedlicher Qualitäten. Wenn du es auf meine Art versuchen willst, würdest du vielleicht vielleicht Werkzeug wissen. Es bietet einige Dinge, wenn Sie noch nicht wissen, wie man sie macht. Es hat vielleicht nur zu viel von einem "Rahmen" für mich. Am Ende sollte ein sehr gut geschriebenes Framework das übertreffen, was ich in wsgi geschrieben habe.

Verwandte Themen