Sehen Sie sich Django an .
Python-Code. Eine Template-Sprache, die einige der gleichen Funktionen wie PHP zulässt – etwas andere Syntax.
Das Modell ist von Ansichtsfunktionen ("Geschäftsregeln") und von der Präsentation getrennt. Dies wird in Django durchgesetzt.
Eine der häufigsten Fragen lautet:„Warum kann ich in der Django-Vorlage keine verrückten PHP-ähnlichen Dinge tun?“ Die Antwort ist, dass die Präsentation keine Verarbeitung ist. Führen Sie Ihre Verarbeitung in den Django-Ansichtsfunktionen durch. Rendern Sie die Ergebnisse als HTML in der Vorlage.
Außerdem verfügt Django über eine ORM-Schicht, um Sie von kleinlichen SQL-Überlegungen zu befreien. MySQL oder PostgreSQL sind innerhalb von Django mehr oder weniger gleichwertig.
Bearbeiten
"Reife" bedeutet eine Menge Dinge. Sie haben ausdrücklich qualifizierte Mitarbeiter als Zeichen von Reife erwähnt.
Django ist reines Python. Wenn Sie Python-Leute finden, können sie Django in ein paar Tagen lernen. Sie müssen nur die Tutorials machen.
-
Eine Django-betriebene Site ist normalerweise Apache + etwas Kleber + Django. Der Kleber kann mod_wsgi oder mod_python oder mod_fastcgi sein. Sie müssen diese Konfiguration mit einiger Sorgfalt handhaben, da es mehrere bewegliche Teile gibt. Dies ist jedoch das gleiche Apache-Konfigurationsproblem, das Sie mit PHP haben – nichts Neues hier.
-
Eine Django-Site hat eine oder mehrere Django-Serverinstanzen mit jeweils einer Einstellungsdatei, einer URL-Zuordnung und einer beliebigen Anzahl von Anwendungen. Reines Python an dieser Stelle.
-
Eine Django-Anwendung verfügt über URL-Zuordnungen, Modelle und Ansichten. Alles reines Python. Einheitengetestet mit den Django-Erweiterungen zu Pythons eigenem internen Unittest-Framework.
-
Das Modell verwendet eine ORM-Schicht. Dies ist vielleicht das Verwirrendste in Django. Die Leute entwerfen manchmal sehr seltsame Modelle, weil sie entweder zu allgemein-übergenerisch denken oder zu viel in SQL denken. Django ist ein Mittelweg aus hauptsächlich Objektorientierung mit etwas SQL-Berücksichtigung. Holen Sie sich das und Sie sind nicht mehr aufzuhalten.
-
Eine Django-Anwendung kann Vorlagen haben, die in ihrer eigenen Vorlagensprache vorliegen. Dies wäre ungefähr das einzige Nicht-Python-Ding, das von großem Interesse ist. Vielleicht möchten Sie benutzerdefinierte Tags hinzufügen – reines Python.
-
Sie haben wahrscheinlich JavaScript (gilt auch für PHP und jedes andere Webanwendungs-Framework). Nichts Neues hier.
-
Da die Verwaltungsanwendung von Django die grundlegende CRUD-Verarbeitung automatisch übernimmt, müssen Sie dies nicht schreiben. Es steht Ihnen frei, alle transaktionalen Dinge zu schreiben, die Sie wollen. Aber das müssen Sie nicht. Dies führt Sie zu einem sehr, sehr mächtigen Hybrid.
-
Sie schreiben ein paar komplizierte, kritische Transaktionen. Reines Python, übrigens.
-
Sie schreiben keine der dummen Tabellenwartungstransaktionen. Kein Code ist Python oder PHP überlegen.
-
Nachdem Sie sich mit der Template-Engine und den CSS vertraut gemacht haben, können Sie die Admin-Oberfläche so anpassen, dass sie so aussieht, wie Sie es möchten. Das ist HTML/CSS-Zeug, kein Python oder PHP.
-
Endeffekt. Der größte Teil der Fähigkeiten ist Python. Das ORM ist – syntaktisch – Python, erfordert aber etwas Sorgfalt, um Dinge einfach und sauber zu machen. Das Template ist eine eigene Sprache, aber wesentlich einfacher als PHP. Der Rest ist SQL, Javascript, HTML, CSS, Apache und so weiter.
Bearbeiten
Django-Reife
-
Siehe http://www.djangoproject.com/community/ für die Anzahl aktiver Projekte.
-
Treten Sie http://groups.google.com/group/django-users bei für die tägliche E-Mail-Flut von Benutzern.
Der Django-Blog reicht bis ins Jahr 2005 zurück, was bedeutet, dass sie über Jahre solider Erfahrung verfügten, bevor sie schließlich im September 2008 1.0 veröffentlichten. Die Entwicklung begann offenbar 2003.