Frage

Ich plane eine PHP-Anwendung über Python zu portieren. Die Anwendung ist vor allem über die Datenerfassung und Verarbeitung. Die Hauptanwendung läuft als Stand-alone-Kommandozeilen-Anwendung. Es ist eine Web-Schnittstelle zur Anwendung, die Reporting-Schnittstelle im Grunde ein sehr geringes Gewicht.

Ich habe nicht einen Rahmen in der PHP-Version verwenden, aber Python ist neu, ich frage mich, ob es vorteilhaft wäre, so etwas wie Django oder zumindest Genshi zu verwenden. Der Nachteil ist, ich will nicht meine Anwendungsverteilung durch die Rahmenteile überwältigt wird ich brauchen würde, mit der Anwendung zu verteilen.

ist nur der cgi Import in Python mit der besten Art und Weise in diesem Umstand zu gehen? Ich würde dazu neigen, einen Rahmen zu denken, zu viel Aufwand ist, aber vielleicht bin ich nicht in einer sehr „Python“ Art und Weise über sie denken. Welche Vorschläge haben Sie in diesem Szenario haben?

War es hilfreich?

Lösung

Die Befehlszeilen Python, IMO, kommt auf jeden Fall zuerst. Erhalten Sie daran zu arbeiten, denn das ist der Kern dessen, was Sie tun.

Das Problem ist, dass ein ORM-Web-Framework mit einer Kommandozeilen-Anwendung nicht auf der Hand. Django bietet spezifische Anweisungen für ihre ORM aus einer Befehlszeile App. Das sind ärgerlich auf den ersten, aber ich denke, dass sie ein Lebensretter auf lange Sicht sind. Ich benutze es schwer für Riesen-Uploads von Kunden zur Verfügung gestellten Dateien.

Verwenden Sie keine nackten CGI. Es ist nicht unmöglich, aber zu viele Dinge schief gehen können, und sie haben alle von den Rahmenbedingungen gelöst. Warum etwas neu erfinden? Nur jemand anderem Code verwenden.

Frameworks beinhalten Lernen, aber keine wirkliche „Overhead“. Sie sind nicht langsam. Sie sind Code, den Sie müssen nicht oder Debug schreiben.

  1. einige Python lernen.

  2. Sie den Django Tutorial.

  3. Starten Sie eine Web-Anwendung zu erstellen.

    a. Starten Sie ein Django-Projekt. Erstellen Sie eine kleine Anwendung in diesem Projekt.

    b. Bauen Sie Ihr neues Modell die Django ORM. Erstellen Sie einen Django Unit-Test für das Modell. Stellen Sie sicher, dass es funktioniert. Sie werden in der Lage, die Standard-Admin-Seiten zu verwenden und viel Herumspielen zu tun. Nur nicht bauen die gesamte Website vor.

  4. Sie sich jetzt Ihre Befehlszeilen App Django ORM arbeiten mit. Im Wesentlichen müssen Sie die Einstellungsdatei Finesse für diese Anwendung gut zu funktionieren. Sehen Sie sich die Einstellungen / Konfiguration Abschnitt.

  5. Wenn Sie Ihre Befehlszeile und die Standard-Admin-Lauf haben, können Sie beenden der Web-App.

Hier ist die goldene Regel der Rahmenbedingungen: Es ist Code, den Sie nicht schreiben müssen, zu debuggen oder erhalten Verwenden Sie sie

..

Andere Tipps

Sie können mit so etwas wie web.py , die leicht sein würde, zu verteilen (da es klein ist) und es würde auch einfach Ihre anderen Werkzeuge, um es anzupassen, da es Sie nicht benötigen, um den Rahmen zu unterbreiten, so viel wie Django tut.

seien Sie gewarnt, aber es ist nicht der beliebteste Rahmen in der Python-Community, aber es könnte für Sie genau das Richtige sein. Vielleicht haben Sie auch Besuche web2py , aber ich weiß, weniger darüber.

Abhängig von der Größe des Projektes. Wenn Sie nur ein paar frühere PHP-Skripte haben, die Ihre Stand-alone-Anwendung aufgerufen, dann würde ich wahrscheinlich für einen cgi-App gehen.

Wenn Sie für Datenbanken, URL-Rewriting, Templating, Benutzerverwaltung und eine solche haben, dann einen Rahmen ist eine gute Idee.

Und natürlich, bevor Sie portieren, prüfen, ob es sich lohnt, es nur um die Sprache zu wechseln, oder wenn es spezifische Python Funktionen, die Sie benötigen.

Viel Glück!

ich portiert vor kurzem eine PHP-Anwendung in Python mit web.py . Als Rahmenbedingungen gehen es ist extrem leicht mit minimalen Abhängigkeiten und es neigt dazu, aus dem Weg zu bleiben, so könnte es der Kompromiss sein, den Sie suchen.

Alles auf Ihre erste Anwendung hängt aber, weil mit einer großen Anwendung die Vorteile eines voll ausgestatteten Rahmen mit der Sanitär-Behandlung neigen dazu, die Nachteile, die beteiligt aufwiegen ziehen um alle Framework-Code.

Django macht es möglich, eine Website schnell zücken, so viel ist sicher. Sie brauchen nicht ein Python-Master zu sein, es zu benutzen, und da es sehr pythonic ist drin Design ist, und es gibt wirklich keine „Magie“ geht, es wird Ihnen helfen Python lernen auf dem Weg.

mit den Beispielen starten, finden Sie hier einige django Screencasts von twid und Sie werden auf Ihrem Weg.

langsam starten, die Admin-Tweaking und mit ihm über Shell zu spielen, ist die Art und Weise zu starten. Sobald Sie einen Griff auf dem ORM haben und bekommen, wie die Dinge funktionieren, starten Sie das reale Material bauen!

Der Rahmen wird sich keine Leistungsprobleme verursachen, wie S. Lott sagte, es ist Code, den Sie nicht halten müssen, und das ist die beste Art.

für einen Rahmen gehen. Grund stopft wie Session-Handling sind ein Alptraum, wenn Sie nicht über ein ein verwenden, weil Python nicht Web ist spezialisiert wie PHP.

Wenn Sie denken, django zu viel ist, können Sie versuchen, eine leichtere wie die sehr klein, aber immer noch handlich web.py.

Für die Liebe von pete, verwenden Sie einen Rahmen! Es gibt buchstäblich Dutzende von Frameworks gibt, von cherrypy zu Albatros django ... na ja .. Sie nennen es. In der Tat ist die große Anzahl von Web-Frameworks, was den Menschen zeigen, wenn sie jammern über die Popularität von Rails.

Die Python-Web-Entwickler-Community ist ohne Stimme aufgeteilt. Aber das ist ein anderes Thema alltogether! Der Punkt ist, gibt es „Web Toolkits“ (zB Albatros), die ziemlich leicht, aber stark genug, um Sie durch den Tag zu kommen (zB Auto-Überprüfung einen Bot nicht eine einfache Formular Vorlage Fälschung zu tun hat, oder hilft mit dem Halt MVC sauber ).

Wenn Sie wollen etwas, das hier nicht „zu viel framework“ aussehen ist:

http://wiki.python.org/moin/WebFrameworks

Sehen Sie unter "Grund Frameworks Providing Templating". Sie sind alle leicht und alles tun, die „do neu erfinden das Rad nicht“ Sachen, ohne auf Ihnen einen Mac-LKW zu erzwingen.

Es hängt von der Art und Weise Sie Ihre Anwendung gehen zu verteilen.
Wenn es nur intern verwendet werden, gehen Sie für django. Es ist eine Freude, mit ihm zu arbeiten. Allerdings fällt django wirklich kurz auf die Verteilung-Aufgabe; django-Anwendungen sind ein Schmerz einzurichten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top