HI,
ich hab große Schwierigkeiten mich mit den Webframeworks von Python anzufreunden.
Ich kenn das ja vom Apache (PHP) her, das ein Modul den PHP Code (apache 2) automatig interpretiert, wenn eine Seite abgefragt wird.
Ich hatte eine Seite gefunden (gegoogelt apache + django + ubuntu 1004 ), die quasy jede einzelne Pythonseite erstmal manuell eingelesen hat.
wie funktioniert eigentlich das mischen von html und python code ??? Bei PHP war das ja <?php Code ?> ..... Wie das bei Django ist, ist mir auch nicht das schlüssig ..... gibts da einfache einsteiger Tuts für Dummies ?
mfg XX
Django als PHP Ersatz
Das mischen von Code & HTML ist eben genau das, was man *nicht* will. Stattdessen hast du
- eine Python-Funktion oder Methode, die deinen Code enthaelt, und ueblicherweise Daten aufbereitet zur Darstellung
- ein Template, welches diese Daten zu HTML verwurstet, unter Verwendung von simplen Konstrukten wie for-schleifen, if-/switch-case-Anweisungen und einfuegen von Daten in die Ausgabe.
Und zu Django gibt's eine grosse Menge an Tutorials.
- eine Python-Funktion oder Methode, die deinen Code enthaelt, und ueblicherweise Daten aufbereitet zur Darstellung
- ein Template, welches diese Daten zu HTML verwurstet, unter Verwendung von simplen Konstrukten wie for-schleifen, if-/switch-case-Anweisungen und einfuegen von Daten in die Ausgabe.
Und zu Django gibt's eine grosse Menge an Tutorials.
- noisefloor
- User
- Beiträge: 3843
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
@xxanonymousxx: Wenn du bei Google suchst, dann lass' Apache und Ubuntu als Suchbegriff weg. Django hat weder was mit Apache noch mit Ubuntu zu tun. Dann solltest du wesentlich bessere Treffer bekommen...
Zur Tutorialfrage: auf der Projektseite von Django gibt es sehr ausführlich Tutorials. Und vorab solltest du sich vielleicht schon mal mit dem MVC-Prinzip (Model-View-Controller) Prinzip anfreunden.
Gruß, noisefloor
@xxanonymousxx: Wenn du bei Google suchst, dann lass' Apache und Ubuntu als Suchbegriff weg. Django hat weder was mit Apache noch mit Ubuntu zu tun. Dann solltest du wesentlich bessere Treffer bekommen...
Zur Tutorialfrage: auf der Projektseite von Django gibt es sehr ausführlich Tutorials. Und vorab solltest du sich vielleicht schon mal mit dem MVC-Prinzip (Model-View-Controller) Prinzip anfreunden.
Gruß, noisefloor
-
- User
- Beiträge: 7
- Registriert: Sonntag 25. September 2011, 14:21
ich steh irgendwie immernoch auf dem Schlauch ?!
Wieso hat ubuntu und apache nix damit zu tun ?
Ubuntu ist mein Betriebsystem und Apache mein Webserver.
die Ausführbaren Dateien befinden sich in /var/www
also muss ich doch dem Apache irgendwie sagen, das es django benutzen soll ...... django wiederrum ist für alles andere zuständig .... also session erstellen und code geschnippsel bzw. code ausgabe ..... das man html und python nicht mischen soll/kann ist ja in Ordnung aber mir fehlen die Zusammenhänge, zwischen apache und django !?
Wieso hat ubuntu und apache nix damit zu tun ?
Ubuntu ist mein Betriebsystem und Apache mein Webserver.
die Ausführbaren Dateien befinden sich in /var/www
also muss ich doch dem Apache irgendwie sagen, das es django benutzen soll ...... django wiederrum ist für alles andere zuständig .... also session erstellen und code geschnippsel bzw. code ausgabe ..... das man html und python nicht mischen soll/kann ist ja in Ordnung aber mir fehlen die Zusammenhänge, zwischen apache und django !?
@xxanonymousxx: Apache ist nicht nötig, um Webanwendungen mit Python zu entwickeln. Im Gegenteil, die Verwendung eines vollwertigen, komplexen Webservers ist vielmehr hinderlich.
Web-Rahmenwerke für Python bringen eigene, ganz einfache Server mit, welche Du einfach über die Kommandozeile starten kannst. Diese Server sind direkt auf das jeweilige Rahmenwerk zugeschnitten und benötigen keine Einrichtung. Sie sind meist auch gut genug, um einfache Seiten in kleinen Umgebungen zu betreiben. Die „ausführbaren“ Dateien, also genau genommen die Webanwendung, befindet sich dann auch tunlichst nicht in "/var/www/", sondern in Deinem Heimatverzeichnis, wo Du sie entwickelst. Mit einem vollwertigen Webserver wie Apache musst Du Dich erst beschäftigen, wenn Du Deine Anwendung tatsächlich auf einem großen Server betreiben möchtest.
Wenn Du Dich ernsthaft mit Python und Webentwicklung beschäftigen möchtest, dann vergiss am besten erst einmal alles, und zwar wirklich alles, was Du über Webanwendung in PHP weißt. Dann lies das Einsteiger-Tutorial über Django, wie man also eine einfache Django-Anwendung entwirft, entwickelt und ausprobiert. Jedes Mal, wenn Du dabei dann denkst, „so ginge das jetzt in PHP“, fängst Du bitte wieder am Anfang dieses Absatzes an
Web-Rahmenwerke für Python bringen eigene, ganz einfache Server mit, welche Du einfach über die Kommandozeile starten kannst. Diese Server sind direkt auf das jeweilige Rahmenwerk zugeschnitten und benötigen keine Einrichtung. Sie sind meist auch gut genug, um einfache Seiten in kleinen Umgebungen zu betreiben. Die „ausführbaren“ Dateien, also genau genommen die Webanwendung, befindet sich dann auch tunlichst nicht in "/var/www/", sondern in Deinem Heimatverzeichnis, wo Du sie entwickelst. Mit einem vollwertigen Webserver wie Apache musst Du Dich erst beschäftigen, wenn Du Deine Anwendung tatsächlich auf einem großen Server betreiben möchtest.
Wenn Du Dich ernsthaft mit Python und Webentwicklung beschäftigen möchtest, dann vergiss am besten erst einmal alles, und zwar wirklich alles, was Du über Webanwendung in PHP weißt. Dann lies das Einsteiger-Tutorial über Django, wie man also eine einfache Django-Anwendung entwirft, entwickelt und ausprobiert. Jedes Mal, wenn Du dabei dann denkst, „so ginge das jetzt in PHP“, fängst Du bitte wieder am Anfang dieses Absatzes an
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Das ist eine Frage des Deploymentprozesses! Da Django (wie die meisten anderen Webframeworks für Python auch) einen Stand-Alone Entwicklungsserver out-of-the-box mitbringt, kannst Du mit dem Entwickeln loslegen, ohne Dich im Vorfeld und / oder während der Entwicklung mit dem Deployment in die spätere Produktivumgebung abzumühen. Du musst eben keine Dateien in ein Systemverzeichnis kopieren oder ein Mapping in ein lokales www-Verzeichnis im /home/-Ordner konfigurieren. Du arbeitest einfach in einem Verzeichnis Deiner Wahl (oder in einer virtualenv-Umgebung).xxanonymousxx hat geschrieben: also muss ich doch dem Apache irgendwie sagen, das es django benutzen soll ...... django wiederrum ist für alles andere zuständig .... also session erstellen und code geschnippsel bzw. code ausgabe ..... das man html und python nicht mischen soll/kann ist ja in Ordnung aber mir fehlen die Zusammenhänge, zwischen apache und django !?
Django bietet eine gute Doku für alle Bereiche, also auch für das Deployment. Generell stellt "modwsgi" wohl die Schnittstelle für WSGI basierte Webapps unter dem Apache statt. Du kannst Dein Projekt natürlich später auch auf anderen Servern betreiben
Lies Dir doch dazu mal die Doku durch. Viele allgemeine Dinge findest Du auch in unserem Wiki.
Edit: lunar war schneller; ich habe aber ja noch ein paar Links, daher poste ich den Kommentar zusätzlich.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- noisefloor
- User
- Beiträge: 3843
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
der Kern der Aussage ist (war): dein Suchbegriff schränkt die Anzahl der (brauchbaren) Treffer unnötig ein. Gründe haben lunar und Hyperion genannt.
Apache plus mod_wsgi ist zwar gängig, um Python-Webanwendungen laufen zu lassen - aber es gibt noch mehr "potente" Server dafür. Ist aber jetzt gerade mal egal, zum Entwickeln reicht immer der enthaltene Stand-Alone Server.
Gruß, noisefloor
der Kern der Aussage ist (war): dein Suchbegriff schränkt die Anzahl der (brauchbaren) Treffer unnötig ein. Gründe haben lunar und Hyperion genannt.
Apache plus mod_wsgi ist zwar gängig, um Python-Webanwendungen laufen zu lassen - aber es gibt noch mehr "potente" Server dafür. Ist aber jetzt gerade mal egal, zum Entwickeln reicht immer der enthaltene Stand-Alone Server.
Gruß, noisefloor
- daemonTutorials
- User
- Beiträge: 171
- Registriert: Sonntag 6. Februar 2011, 12:06
- Kontaktdaten:
Ich war früher ein Verfechter von PHP und habe dann Python kennen gelernt. Ich habe erst GUI's damit gemacht, warum auch immer.lunar hat geschrieben:@xxanonymousxx: Apache ist nicht nötig, um Webanwendungen mit Python zu entwickeln. Im Gegenteil, die Verwendung eines vollwertigen, komplexen Webservers ist vielmehr hinderlich.
Web-Rahmenwerke für Python bringen eigene, ganz einfache Server mit, welche Du einfach über die Kommandozeile starten kannst. Diese Server sind direkt auf das jeweilige Rahmenwerk zugeschnitten und benötigen keine Einrichtung. Sie sind meist auch gut genug, um einfache Seiten in kleinen Umgebungen zu betreiben. Die „ausführbaren“ Dateien, also genau genommen die Webanwendung, befindet sich dann auch tunlichst nicht in "/var/www/", sondern in Deinem Heimatverzeichnis, wo Du sie entwickelst. Mit einem vollwertigen Webserver wie Apache musst Du Dich erst beschäftigen, wenn Du Deine Anwendung tatsächlich auf einem großen Server betreiben möchtest.
Wenn Du Dich ernsthaft mit Python und Webentwicklung beschäftigen möchtest, dann vergiss am besten erst einmal alles, und zwar wirklich alles, was Du über Webanwendung in PHP weißt. Dann lies das Einsteiger-Tutorial über Django, wie man also eine einfache Django-Anwendung entwirft, entwickelt und ausprobiert. Jedes Mal, wenn Du dabei dann denkst, „so ginge das jetzt in PHP“, fängst Du bitte wieder am Anfang dieses Absatzes an
Nachher habe ich simples WSGI und CGI betrieben. Ich habe damals Django abgelehnt.
Jetzt habe ich mich auf Django eingelassen, alles über PHP vergessen und konnte leichter und vor allem schneller und übersichtlicher Webseiten erstellen.
Vorteile von Django:
- Riesige Bibliothek an vorgefertigten Modulen für z.B. RSS
- Ein integriertes Admin-Interface das sich sehr leicht scripten lässt
- Eine klare Aufteilung zwischen HTML-Code und Python-Code
- Leichtes Modellieren des Objektes und der Datenbank
- Schnelle Lernkurve da z.B. eine Simple Artikelanzeige und Verwaltung einfacher zu erstellen ist als ein Umfrage-System.
- Beim öffentlichen Gang muss man einen Provider finden, der Python und Django unterstützt. Meistens reicht sogar ein 5€ vStart von Alfahosting.de. Frisst bei wenig Besuchern nicht viel.
- Wenige Provider
Aber ich kann dir evtl. was ans Herz legen: https://www.aditsystems.de/webhosting_wunschtarif.php
bzw. https://www.alwaysdata.com/
Ich hoffe du kannst das alles Verstehen.
Und eins noch: "Django ist ein Web-Framework - PHP ist eine Websprache" Django kannst du nie und nimmer als Ersatz nehmen. Für PHP gibt es sowieso keinen Ersatz
LG Maik