Guten Tag zusammen.
Wie die Überschrift schon sagt gehts hier um dei Webprogrammierung mit phyton. Bisher habe ich Internetseiten mit HTML/PHP gemacht. Nun habe ich eine private Seite für mich entworfen und der HTML Grundbaustein (für die statischen Inhalte) ist schon fertig. Eigentlich dachte ich mir PHP sei der richtige Weg um den Dynamischen Teil (Adminpanel, Newsscript etc) einzubinden durch eine Verkettung von ca 20 Links bin ich bei Python gelandet. Laut verschiedener Seiten und Personen soll Python leicht, effizient und sehr mäctig sein. Naja da denk ich mir "warum PHP wenn ich python was neues lernen kann, was den selben effekt hat.
Tja ich habe hier im Forum logischerweise nach einträgen zu HTML, webprogrammierung und so gesucht. Da google mein Freund ist habe ich auch ihn gefragt. Nach dem ich über Seiten wie drweb.de etc gefolgen bin dachte ich mir ich poste lieber mal hier. scheint mir effizienter zus ein als stunden lang zu suchen.
Ich hab bisher ein grundlegendes Verständnissproblem bei python. Kann mir jemand sagen wie ich python in HTML einbinden kann? Wie könnte ich z.B. einen Adminpanel für meine seite realisieren? Gibt es eine ähnliche inculde funktion wie in PHP? Kann ich python ganz nomal in einem texteditor einfügen, die page hochladen und es läuft oder ist das ein spezielles Format gefragt? Wenn ja wie binde ich dieses Format oder diese Datein ein? Es wäre nett wenn mir jemand die grundlegen dinge zur Python Webprogrammierung mal erläutern könnte. also wie genau baue ich einfach eine HTML seite wo z.B. "Hallo Welt" drin steht. Wie und Wo muss ich speichern, welche Einstellungen sind beim Apache (xampp) nötig. Muss ich was bei dem arbeiten von Linux und Win etwas beachten (zuhause Linux auf der arbeit win2k)?
Ich weis das hier die Frage mit Apache schon öfter gestellt wurde, jedoch erkenne ich in diesen Psots keine Lösung.
Danke im vorraus.
Mfg banthrass
Python und Webprogrammierung [neuling]
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
http://www.python-forum.de/viewtopic.ph ... rammierung
http://www.pythonwiki.de/PythonWeb
mfg
Gerold

http://www.pythonwiki.de/PythonWeb
mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
mmmm naja nicht so ganz was ich mir erhofft hatte aber ich denke im Grunde ist es nun klar. Wie schaut das nun mit Includes aus? gibt es sowas in python? auf eine soclhe funktion will ich ungern verzichten. Ich habe eine Index .php entworfen in der meine Siete durch includes zusammen gahlten wird. kann ich sowas auch mit python machen? da es schon ganz nützlich ist nur teile einer oage neu zuladen und nicht immer alles.
ein beispiel hier :
usw.
kann ich sowas mit python irgendwie machen?
Wenn ich z.B. mitten im HTML eine kurze berechnung machen will, mach ich das mit php mitten im HTML code mit <?php meinen schnick schnack ?> . Habe ich diese einfachheit auch mit python oder muss ich dann alles irgendwie in eine cgi packen und diese extra aufrufen? Wäre ja recht unsinnig
ein beispiel hier :
Code: Alles auswählen
<?php
//set_include_path(".");
$page = "./";
$Title;
switch ($_GET['p'])
{
case 1:
include ($page.'html_head.php');
include ($page.'html_table_head.php');
include ($page.'table_head.php');
include ($page.'header.php');
include ($page.'menu.php');
include ($page.'body_main.php');
include ($page.'table_foot.php');
include ($page.'html_table_foot.php');
include ($page.'html_foot.php');
break;
case 2:
include ($page.'html_head.php');
include ($page.'html_table_head.php');
include ($page.'table_head.php');
include ($page.'header.php');
include ($page.'menu.php');
include ($page.'adminpanel.php');
include ($page.'table_foot.php');
include ($page.'html_table_foot.php');
include ($page.'html_foot.php');
break;
}
kann ich sowas mit python irgendwie machen?
Wenn ich z.B. mitten im HTML eine kurze berechnung machen will, mach ich das mit php mitten im HTML code mit <?php meinen schnick schnack ?> . Habe ich diese einfachheit auch mit python oder muss ich dann alles irgendwie in eine cgi packen und diese extra aufrufen? Wäre ja recht unsinnig
Hallo!banthrass hat geschrieben:Naja ich hab mir webspace + domain bei all-inkl. de geholt. da kann ich CGIs verwenden. _Nur was ist mit so sachen wie spyce? kann ich das da einfach nutzen? wahrscheinlich nicht odeR?
Bietet all-inkl.de denn überhaupt Python an??? Auf der Homepage des Hosters finde ich nur den Begriff CGI in Verbindung mit Perl!!!
Jörg Gollers
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Und nochmal eine kleine Colubrid Werbung: http://wsgiarea.pocoo.org/colubrid/
Und natürlich den Wikieintrag [wiki]Python im Web[/wiki]

Und natürlich den Wikieintrag [wiki]Python im Web[/wiki]
TUFKAB – the user formerly known as blackbird
-
- User
- Beiträge: 670
- Registriert: Sonntag 15. Januar 2006, 18:42
- Wohnort: Celle
- Kontaktdaten:
banthrass, die Abomination von PHP-Code die Du oben gepostet hast kannst Du in der Form nur machen wenn Du eben genannte Python-Server-Pages benutzt. Python ist nicht nur dazu gedacht um (X)HTML auszuspucken, oder ganz allgemein als Templating-Sprache für Text-zentrische-Dokumente, sondern als Programmiersprache.
Ich kann ehrlich gesagt nur von Python-Server-Pages abraten, denn das Mischen von Präsentation und Logik führt über kurz oder lang immer nur zu einem Chaos, und würde Dir raten, Dir eine von den vielen Templating-Systemen anzugucken die es da draußen für Python gibt. Im Wiki findest Du mehr Informationen.
--- Heiko.
Ich kann ehrlich gesagt nur von Python-Server-Pages abraten, denn das Mischen von Präsentation und Logik führt über kurz oder lang immer nur zu einem Chaos, und würde Dir raten, Dir eine von den vielen Templating-Systemen anzugucken die es da draußen für Python gibt. Im Wiki findest Du mehr Informationen.
--- Heiko.
Schau dir Zope an.
Aber ich würde auch sagen, das du vermutlich nicht die bequeme einbettungseigenschaften wie bei <php> haben wirst.
Das ganze kannst du dir denke ich, vorstellen wie mit perl/mod_perl.
Und wie modelnine schon sagte, Python ist stärker für echte programmierung ausgelegt als nur html bearbeitung (was nicht heisst das es nicht geht).
Ich hab vorher Perl gemacht, und möchte an dieser stelle auch gleich mal davon abraten ...
Und auch Heikos Meinung zum Einbetten unterstütze ich, wir selbst haben das auch gemacht am anfang, nach ca 30 seiten ist schluss - du findest einfach nichts mehr ordentlich.
Aber ich würde auch sagen, das du vermutlich nicht die bequeme einbettungseigenschaften wie bei <php> haben wirst.
Das ganze kannst du dir denke ich, vorstellen wie mit perl/mod_perl.
Und wie modelnine schon sagte, Python ist stärker für echte programmierung ausgelegt als nur html bearbeitung (was nicht heisst das es nicht geht).
Ich hab vorher Perl gemacht, und möchte an dieser stelle auch gleich mal davon abraten ...
Und auch Heikos Meinung zum Einbetten unterstütze ich, wir selbst haben das auch gemacht am anfang, nach ca 30 seiten ist schluss - du findest einfach nichts mehr ordentlich.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi!Mad-Marty hat geschrieben:Schau dir Zope an.
Aber ich würde auch sagen, das du vermutlich nicht die bequeme einbettungseigenschaften wie bei <php> haben wirst.
Bei Zope ist die Möglichkeit, andere Dateien einzubetten sogar noch um einiges flexibler als bei PHP.
Durch die "Acquisition" in Zope sucht Zope zuerst die einzubettende Datei im aktuellen Ordner. Wird die Datei da nicht gefunden, dann wird Ordner für Ordner nach oben gewandert um dort nach der einzubettenden Datei zu suchen.
So kann man auf extrem einfache Weise eine Hauptvorlage definieren, die immer aufgerufen wird. Je nachdem in welchem Ordner man sich befindet, wird aber ein Teil der Seite durch die Datei im aktuellen Ordner ersetzt.
So ist es auch möglich, in themenbezogenen Ordnern CSS-Dateien abzulegen, die die Seite je nach Ordner anders einfärbt. Lege ich eine Vorlage für den "Header" in einen Unterordner, dann wird in diesem Ordner automatisch dieser "Header" verwendet. Befindet sich im Ordner kein "Header", dann wird der "Header" der übergeordneten Ordner verwendet.
Code: Alles auswählen
ROOT
|-styles.css
|-index.html
|-hauptvorlage.html
|-header.html
|-footer.html
|
|-TIERE
| |-styles.css
| |-index.html
| |
| |-ELEFANTEN
| |-index.html
| |
| |-ELFENBEIN
| |-index.html
| |-header.html
|
|-MENSCHEN
|-styles.css
|-index.html
Diese TAL-Anweisung ersetzt in einer Vorlage das SPAN-Tag durch den gerenderten Inhalt der Datei "header.html":
Code: Alles auswählen
<span tal:replace="structure context/header.html" />
Code: Alles auswählen
<span metal:use-macro="context/header.html/macros/main" />
Die Vorlagensprache TAL gibt es auch ohne Zope. SimpleTAL ist hier zu finden: http://www.owlfish.com/software/simpleTAL/
Zope installieren
http://zope.de/
lg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi!
Noch etwas zu diesem Thema:
So sehr ich Zope schätze -- für manche unverbesserliche "Code in Vorlage"-Schreiber, besonders aus dem Bereich PHP oder ASP, ist Zope viel zu durchdacht.
Für jemanden der so etwas wie PHP/ASP mit Python haben möchte, ist evt. Python Servlet Engine das Richtige.
Hier findet man auch eine kleine PSE Einführung.
lg
Gerold

Noch etwas zu diesem Thema:
So sehr ich Zope schätze -- für manche unverbesserliche "Code in Vorlage"-Schreiber, besonders aus dem Bereich PHP oder ASP, ist Zope viel zu durchdacht.
Für jemanden der so etwas wie PHP/ASP mit Python haben möchte, ist evt. Python Servlet Engine das Richtige.
Hier findet man auch eine kleine PSE Einführung.
lg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Ganz ehrlich: in PHP geht das zwar so, das heißt aber noch lange nicht, dass es *nur* so geht, geschweige denn, dass es eine gute Idee ist so zu arbeiten.gerold hat geschrieben:für manche unverbesserliche "Code in Vorlage"-Schreiber, besonders aus dem Bereich PHP
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
-
- User
- Beiträge: 670
- Registriert: Sonntag 15. Januar 2006, 18:42
- Wohnort: Celle
- Kontaktdaten:
Du wärest der erste derGanz ehrlich: in PHP geht das zwar so, das heißt aber noch lange nicht, dass es *nur* so geht, geschweige denn, dass es eine gute Idee ist so zu arbeiten.
- 1. In PHP anders arbeiten kann,
2. und es auch tut.
Juhuu! Erster!modelnine hat geschrieben:Du wärest der erste der
- 1. In PHP anders arbeiten kann,
2. und es auch tut.

Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Glückwunsch!N317V hat geschrieben:Juhuu! Erster!Gleich in zwei Kategorien!

lg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Für PHP-likeness würde ich ganz klar Spyce empfehlen.. vielleicht noch Karigell.gerold hat geschrieben:Für jemanden der so etwas wie PHP/ASP mit Python haben möchte, ist evt. Python Servlet Engine das Richtige.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Also ich muss aber sagen, dass ich vor Webprogrammierung mit Python auch noch etwas zurückschrecke. Das geht wohl nicht nur mir so, wenn man mal guckt, dass z.B. sogar dieses Forum mit PHP läuft. Es gibt da wohl eine lange Reihe an Möglichkeiten; viele Schlagworte wie mod_python, ZOPE, WSGI etc. sind hier ja schon gefallen. Nur: meist erscheint das alles ziemlich kompliziert aufzusetzten und ist teilweise vollkommener Overkill, oft auch einfach schlecht dokumentiert. Das PEP zu WSGI ist zum Beispiel recht informativ, aber ich kann immernoch nicht wirklich sagen, was ich tun muss, um es zu nutzen. Es scheint wohl nicht automatisch bei Python dabei zu sein und ist dementsprechend auch in der Python-Doku nicht zu finden (Version 2.4). Bis ich die ZOPE-Doku auch nur annähernd durchgearbeitet hab, hätte ich das bisschen, das ich brauche schon längst "zu Fuß" programmiert. Für größere Projekte sicher geil, aber für den Einstieg einfach viel zu gewaltig. Um das gleich vorweg zu nehmen: auch das ZOPE-Tutorial ist bei mir schon bei der Installation durchgefallen, weil viel zu viele Dinge einfach nicht so funktionieren, wie dort beschrieben und ich dafür dann wieder jede Menge anderer Doku durchforsten muss um das Ding überhaupt mal anständig auf die Platte zu kriegen. Das sind jetzt nur zwei Beispiele, aber ich hab mich noch mit mod_python, Twisted, Colubrid, Plone und CherryPy beschäftigt. Die Probleme scheinen mir über gleich: entweder zu überladen oder zu unausgereift oder einfach mangelhaft dokumentiert. Sich da einen Überblick zu verschaffen ist schon reichlich mühselig, aber ich werd wohl die Liste auf pythonwiki.de noch weiter durcharbeiten.
just my 2 cent

just my 2 cent
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Weil Pocoo noch etwas dauert.N317V hat geschrieben:Also ich muss aber sagen, dass ich vor Webprogrammierung mit Python auch noch etwas zurückschrecke. Das geht wohl nicht nur mir so, wenn man mal guckt, dass z.B. sogar dieses Forum mit PHP läuft.
Du musst es gar nicht nutzen. Das ist nur für die Framework Entwickler interessant. Du brauchst nur noch einen netten Aufsatz dazu suchen. Momentan sind die folgenden Frameworks WSGI kompatibel: django, turbogears (eingeschränkt, cherrypy ist leider etwas kaputt), web.py. Als request handler (also dem einfachsten vom einfachsten) hätten wir da noch Colubrid.Es gibt da wohl eine lange Reihe an Möglichkeiten; viele Schlagworte wie mod_python, ZOPE, WSGI etc. sind hier ja schon gefallen. Nur: meist erscheint das alles ziemlich kompliziert aufzusetzten und ist teilweise vollkommener Overkill, oft auch einfach schlecht dokumentiert. Das PEP zu WSGI ist zum Beispiel recht informativ, aber ich kann immernoch nicht wirklich sagen, was ich tun muss, um es zu nutzen.
WSGI ist ein Standard. Die dbapi ist ja auch nicht in python dabei...Es scheint wohl nicht automatisch bei Python dabei zu sein und ist dementsprechend auch in der Python-Doku nicht zu finden (Version 2.4).
Und für große zu langsam. ZOPE2 hat atm leider so seine Probleme. Nicht zuletzt wegen des etwas hirnverbrannten programmierens über die Weboberfläche. Habe aber gehört, dass ZOPE3 da alles richtig machen will.Bis ich die ZOPE-Doku auch nur annähernd durchgearbeitet hab, hätte ich das bisschen, das ich brauche schon längst "zu Fuß" programmiert. Für größere Projekte sicher geil, aber für den Einstieg einfach viel zu gewaltig.
Jep. Die doku ist für die Tonne.Um das gleich vorweg zu nehmen: auch das ZOPE-Tutorial ist bei mir schon bei der Installation durchgefallen, weil viel zu viele Dinge einfach nicht so funktionieren, wie dort beschrieben und ich dafür dann wieder jede Menge anderer Doku durchforsten muss um das Ding überhaupt mal anständig auf die Platte zu kriegen.
mod_python is ein Interface, das ohne einem Aufsatz zu verwenden ist nicht nur dumm, sondern auch verrückt. Twisted ist viel mehr als ein Framework. Colubrid ist sehr gut dokumentiert, wenn was fehlt bitte sagen, aber meines Wissens nach ist alles in der Doku. Plone ist CMS für ZOPE und kein Framework, CherryPy ist ein etwas verkorkster Untersatz für subway und turbogears, aber gleichzeitig auch ein Frameworkansatz oder Application server. Je nachdem wie man es nimmt.Das sind jetzt nur zwei Beispiele, aber ich hab mich noch mit mod_python, Twisted, Colubrid, Plone und CherryPy beschäftigt. Die Probleme scheinen mir über gleich: entweder zu überladen oder zu unausgereift oder einfach mangelhaft dokumentiert.
Und wieder einer, der es falsch verstanden hat. Ich kann ja nicht sagen, dass es leicht zu kapieren ist, ich sollte da vielleicht eine Doku schreiben...Sich da einen Überblick zu verschaffen ist schon reichlich mühselig, aber ich werd wohl die Liste auf pythonwiki.de noch weiter durcharbeiten.![]()
TUFKAB – the user formerly known as blackbird
Ich denke wenn man es für den Anfang einfach haben will, so ähnlich wie PHP, dann sollte man mit CGI anfangen. Python lässt sich wegen der Syntax (Einrückung bestimmt Programmstruktur) nicht so einfach in HTML einbetten, deshalb sollte man ein Templating-System wie kid, SimpleTAL oder CheetahTemplate nehmen. Damit kann man Programm und Präsentation recht sauber trennen ohne sich in "Megaframeworks" einarbeiten zu müssen.
Ich persönlich finde `kid` ganz nett. Von der Homepage:
Ich persönlich finde `kid` ganz nett. Von der Homepage:
Kid is a simple template language for XML based vocabularies written in Python. It was spawned as a result of a kinky love triangle between XSLT, TAL, and PHP. We believe many of the best features of these languages live on in Kid with much of the limitations and complexity stamped out
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Sollte man nicht. Für eine CGI Anwendung muss man in der Regel viel nervtötendes erledigen. Beispielsweise multipart requests parsen... Da würde ich mir lieber Colubrid oder web.py ansehen. Die haben keine große Einarbeitungszeit.BlackJack hat geschrieben:Ich denke wenn man es für den Anfang einfach haben will, so ähnlich wie PHP, dann sollte man mit CGI anfangen.
Ney. Das stimmt so nicht. Python lässt sich genauso gut in HTML Code einbetten wie PHP auch. Beispiele dafür sind PSP, Cheetah, Spyce und andere.Python lässt sich wegen der Syntax (Einrückung bestimmt Programmstruktur) nicht so einfach in HTML einbetten,...
Da gibt es aber noch einige andere [wiki]Template Engines[/wiki]deshalb sollte man ein Templating-System wie kid, SimpleTAL oder CheetahTemplate nehmen. Damit kann man Programm und Präsentation recht sauber trennen ohne sich in "Megaframeworks" einarbeiten zu müssen.

Und wenn du meinst, dass du dich in plain CGI einarbeiten willst - arbeite dich lieber in plain WSGI ein. Ca gleich nervtötend, ist aber ein besserer Weg. Und ansonsten, wie gesagt, Colubrid ist ein einfacher Weg.
Und da das generell immer nach Werbung aussieht, schreib ich jetzt eine WIkiseite zu dem Thema: [wiki]Python und die Webentwicklung[/wiki]
TUFKAB – the user formerly known as blackbird
Sollte man doch. Was bleibt denn anderes übrig wenn man partout keine Webframeworks verwenden möchte? Diese Anforderung stammt ja nicht von mir.blackbird hat geschrieben:Sollte man nicht.BlackJack hat geschrieben:Ich denke wenn man es für den Anfang einfach haben will, so ähnlich wie PHP, dann sollte man mit CGI anfangen.
Echt!? Man muss multipart requests parsen? Musste ich bis jetzt noch in keinem CGI Skript machen.Für eine CGI Anwendung muss man in der Regel viel nervtötendes erledigen. Beispielsweise multipart requests parsen...
Doch das stimmt so. Ich sagte nicht das es unmöglich ist, sondern nur nicht so einfach. Darum gibt's bei vielen Template-Modulen nur "eingeschränktes" Python. Wenn die Einrückungstiefe wichtig ist, dann kann man eben nicht so einfach HTML und Python mischen. Wenn man dann noch die Datei mal in einem WYSIWYG HTML-Editor bearbeitet dann kann man Probleme bekommen, die man bei PHP nicht hätte.Ney. Das stimmt so nicht. Python lässt sich genauso gut in HTML Code einbetten wie PHP auch. Beispiele dafür sind PSP, Cheetah, Spyce und andere.Python lässt sich wegen der Syntax (Einrückung bestimmt Programmstruktur) nicht so einfach in HTML einbetten,...
Da es guter Stil ist Logik und Präsentation zu trennen empfinde ich diese Einschränkung aber eher als Vorteil.