Seite 1 von 2

Diverse Verständnisprobleme - Webseitenerstellung mit Python

Verfasst: Donnerstag 11. Dezember 2008, 16:24
von orschiro
Hallo Leute,

nachdem ich mich etwas mit Python beschäftigt habe und auch einige kleine Shellprogramme erstellt habe, wollte ich mir nun einmal Python in Hinsicht auf den Einsatz im Web etwas näher anschauen. Jedoch habe ich noch grundsätzliche Verständnisfragen, die ich hoffentlich mit eurer Hilfe beantworten kann. :)

1. Gesetzt dem Falle ich möchte eine simple Webseite erstellen. Mit PHP bzw. html hätte ich das wie folgt gemacht:

Code: Alles auswählen

index.html
<html>
....
<body>
Inhalt Inhalt
<?php
Beliebiger Code;
?>
</body>
</html>
Wie würde ich selbiges mit Python umsetzen?

2. Ist es von Vorteil ein in Python geschriebenes CMS wie Plone zu verwenden, oder lassen sich einzelne Pythonskripte auch problemlos mit in PHP geschriebenen CMS kombinieren?

3. Habt ihr irgendwelche Webseitenreferenzen zur Hand, die in Python geschrieben wurden?

4. Ist ein Vserver von Vorteil, oder bieten Webhostingpakete die nötigen Mittel um Python nutzen zu können?

Ich glaube das sind meine dringlichsten Fragen - ich bedanke mich schon einmal für eure Antworten. :)

Re: Diverse Verständnisprobleme - Webseitenerstellung mit Py

Verfasst: Donnerstag 11. Dezember 2008, 16:42
von numerix
ad 1.: Du kannst Python-Code nicht in HTML einbetten. Stattdessen wird ein Python-Skript entwickelt, das die HTML-Seite produziert.

ad 4.: Das hängt davon ab, was du vorhast. Es gibt preisgünstige Webhosting-Pakete, wo du mittels Python und CGI Internetseiten erstellen, Formulare auswerten etc. kannst. Das reicht für erste Erfahrungen und etwas Bastelei, wenn es ernsthafter werden soll, wird wohl ein VServer herhalten müssen, auf dem du dich austoben kannst.

Verfasst: Donnerstag 11. Dezember 2008, 16:43
von derdon
Bin jetzt zu faul selber was zu schreiben. Deswegen verweise ich einfach mal auf das [wiki=Tags/Web]Wiki[/wiki], wo viele Fragen für dich beantwortet werden.

Verfasst: Donnerstag 11. Dezember 2008, 16:51
von orschiro
Gut nun bin ich immerhin schon so weit, dass ich die Notwendigkeit eines Web-Frameworks erkannt habe. Aber was ich noch nicht so recht durschaut habe - ich installiere also bestenfalls auf einem Vserver ein entsprechendes Modul, damit das Framework mit dem Server kommunizieren kann, aber wie erstelle ich konkret eine seite.html, die dann auch so im Browser ausgegeben werden kann?
Du kannst Python-Code nicht in HTML einbetten. Stattdessen wird ein Python-Skript entwickelt, das die HTML-Seite produziert.
Und solch ein Skript ist dann das Framework?

Verfasst: Donnerstag 11. Dezember 2008, 17:36
von BlackJack
Man benutzt in der Regel Template-Systeme um dynamische Inhalte in HTML zu bekommen. Zum Beispiel Cheetah, Genshi, Jinja(2), usw.

Wie man dann konkret eine Seite erstellt, bzw. eine URL auf eine dynamische Seite abbildet, hängt auch vom verwendeten Framework ab. Da gibt's in der Regel Tutorials im Netz.

Verfasst: Donnerstag 11. Dezember 2008, 17:42
von Y0Gi
Wenn du magst, arbeite das deutsche Werkzeug-Tutorial durch.

Re: Diverse Verständnisprobleme - Webseitenerstellung mit Py

Verfasst: Donnerstag 11. Dezember 2008, 17:50
von lunar
numerix hat geschrieben:ad 1.: Du kannst Python-Code nicht in HTML einbetten.
PSP :D

Verfasst: Donnerstag 11. Dezember 2008, 17:59
von derdon
zu 2: Gewöhne dir eine andere Denkweise an, wenn du eine neue Sprache lernst. Versuche nicht zu denken: "Wie kann ich den PHP-Code in Python schreiben?", sondern "Wie kann ich das Problem in Python lösen?".

zu 3: http://ubuntuusers.de und http://www.djangoproject.com/ um mal große Projekte in Python zu nennen.

Re: Diverse Verständnisprobleme - Webseitenerstellung mit Py

Verfasst: Donnerstag 11. Dezember 2008, 18:02
von Leonidas
lunar hat geschrieben:
numerix hat geschrieben:ad 1.: Du kannst Python-Code nicht in HTML einbetten.
PSP :D
Karrigell, Spyce. Sie haben aber alle gemein, dass das eine sehr schlechte Idee ist.

Re: Diverse Verständnisprobleme - Webseitenerstellung mit Py

Verfasst: Donnerstag 11. Dezember 2008, 18:03
von numerix
lunar hat geschrieben:
numerix hat geschrieben:ad 1.: Du kannst Python-Code nicht in HTML einbetten.
PSP :D
:?: :?: :?:

Verfasst: Donnerstag 11. Dezember 2008, 18:08
von lunar

Verfasst: Donnerstag 11. Dezember 2008, 18:21
von numerix
lunar hat geschrieben:Python Server Pages
Danke, wieder was dazu gelernt. Wenn ich Leonidas Bemerkung dazu richtig verstehe, dann sollte man diese Möglichkeit(en) nicht unbedingt nutzen. Richtig?

Verfasst: Donnerstag 11. Dezember 2008, 18:25
von numerix
SYVO hat geschrieben:Gut nun bin ich immerhin schon so weit, dass ich die Notwendigkeit eines Web-Frameworks erkannt habe.
Wenn du damit meinst, dass man ohne Framework keinen HTML-Code mittels Python produzieren kann, dann nein. Das folgende kleine Skript produziert z.B. eine Seite HTML. Dazu müssen die Ausführungsrechte des Skripts richtig gesetzt sein, der Server muss die Ausführung des Skripts (an dieser Stelle) erlauben und es muss ein Python-Interpreter auf dem Server laufen.

Code: Alles auswählen

#!/usr/bin/env python

print "Content-type: text/html\n"
print """
<html>
<head>
<title>HTML mit Python erstellt</title>
</head>

<body>
<h1>Ein paar Zahlen ...</h1>
"""
print "<p>"+' '.join([str(k) for k in range(30)])+"</p>"
print """
</body>
</html>
"""

Verfasst: Donnerstag 11. Dezember 2008, 18:39
von lunar
numerix hat geschrieben:
lunar hat geschrieben:Python Server Pages
Danke, wieder was dazu gelernt. Wenn ich Leonidas Bemerkung dazu richtig verstehe, dann sollte man diese Möglichkeit(en) nicht unbedingt nutzen. Richtig?
Völlig richtig. Daher auch der Smilie in meinem ersten Posting :)

Re: Diverse Verständnisprobleme - Webseitenerstellung mit Py

Verfasst: Donnerstag 11. Dezember 2008, 19:32
von Y0Gi
SYVO hat geschrieben:3. Habt ihr irgendwelche Webseitenreferenzen zur Hand, die in Python geschrieben wurden?
Z. B. YouTube und Google.
SYVO hat geschrieben:4. Ist ein Vserver von Vorteil, oder bieten Webhostingpakete die nötigen Mittel um Python nutzen zu können?
Ja und ja. Ersteres ist schöner, schneller, flexibler. Zur Not kann man eine kleinere Site aber auch per CGI auf Shared Hosting betreiben, wenn man mit Pure-Python-Paketen auskommt und/oder der Hoster die gängigen Pakete mit C-Abhängigkeiten (etwa MySQLdb) vorinstalliert hat.

Verfasst: Donnerstag 11. Dezember 2008, 19:36
von lunar
Auf der anderen Seite sollte man immer auch bedenken, dass man dann als Admin dieses VServers allein für ihn verantwortlich ist. D.h. man muss sich z.B. selbst um die Absicherung kümmern.

Verfasst: Freitag 12. Dezember 2008, 09:23
von jens
Ganz genau, siehe: [wiki]Python Webspace#DochBesserEinenEigenenVserverOderDediziertenServer[/wiki]

Verfasst: Freitag 12. Dezember 2008, 11:20
von Y0Gi
Richtig. Beim Entwickeln und Betreiben öffentlich zugänglicher Anwendungen und speziell im Web ist verantwortungsvolles Handeln allerdings ohnehin für mich ein Grundpfeiler.

Verfasst: Freitag 12. Dezember 2008, 11:32
von orschiro
Hallo Leute,

ich bin sichtlich beeindruckt von der regen Beteiligung. Und doch ist mir vieles noch etwas unverständlich. :?

Nehmen wir einmal konkret an, ich möchte eine simple Webseite erstellen, bei der ein Header, eine Navigation und ein Footer in den eigentlichen Body-Content inkludiert werden - so zumindest habe ich das des Öfteren mit PHP gemacht.

Wie würde ich so etwas unter Python angehen?
Mir also Zeit ersparen und eine Art Templatesystem erstellen.

Verfasst: Freitag 12. Dezember 2008, 11:41
von Zap
Dazu muss man sich kein Template-System erstellen sondern verwendet eines wie zum Beispiel mako oder jinja.
Man schreibt dann eine Master-Seite in welcher das grundlegende Design festgelegt ist und füllt diese in den eigentlichen Seiten mit Inhalt.