Diverse Verständnisprobleme - Webseitenerstellung mit Python

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
orschiro
User
Beiträge: 60
Registriert: Donnerstag 11. Dezember 2008, 16:10
Kontaktdaten:

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. :)
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

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.
orschiro
User
Beiträge: 60
Registriert: Donnerstag 11. Dezember 2008, 16:10
Kontaktdaten:

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?
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.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Wenn du magst, arbeite das deutsche Werkzeug-Tutorial durch.
lunar

numerix hat geschrieben:ad 1.: Du kannst Python-Code nicht in HTML einbetten.
PSP :D
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

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.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

lunar hat geschrieben:
numerix hat geschrieben:ad 1.: Du kannst Python-Code nicht in HTML einbetten.
PSP :D
:?: :?: :?:
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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?
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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>
"""
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 :)
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

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.
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.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ganz genau, siehe: [wiki]Python Webspace#DochBesserEinenEigenenVserverOderDediziertenServer[/wiki]

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Richtig. Beim Entwickeln und Betreiben öffentlich zugänglicher Anwendungen und speziell im Web ist verantwortungsvolles Handeln allerdings ohnehin für mich ein Grundpfeiler.
orschiro
User
Beiträge: 60
Registriert: Donnerstag 11. Dezember 2008, 16:10
Kontaktdaten:

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.
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

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.
Antworten