[Python-de] letzte Rettung

Gerhard Häring haering_python at gmx.de
Thu May 10 10:10:45 EDT 2001


> Markus Macioszek wrote:
> 
> Ich hoffe, dass ich hier endlich Rettung finde.
> Folgendes:
> Ich schreibe an einer Diplomarbeit, bei der ich untersuchen muss, in wiefern
> die Skriptsprachen PHP, Perl und Python für die Webprogrammierung geeignet
> sind.
> (Speziell im Bereich E-Commerce/E-Business)
> Über Python finde ich leider nur wenig, auch auf den offiziellen Seiten,
> deswegen probiere ich es nun hier.
> 
> Die erste Frage ist, ob persistente DB-Verbindungen in Python möglich sind.
> Bei Perl ist dies der Fall, wenn es als Modul im Webserver integriert ist.
> Beim Apache ist es z.B. das Modul mod_perl, wie mod_python bei Python. In Perl
> bindet man einfach Apache::DBI als Beispiel ein, und man kann normal mit DBI
> programmieren und hat persistente Verbindungen. Ist dies bei Python auch so?
> Wenn ja wie? (Beispielcode vielleicht dazu)

Da gibt es überhaupt keine Magie bei mod_python oder mod_snake. Man schreibt
einfach eine ganz normale Applikation und muss halt sich noch um die Apache-API
kümmern, außer man verwendet den CGI-Kompatibilitätsmodus. Also, das Ansprechen
von Datenbanken geht wie sonst auch mit Python DB-API kompatiblen Interfaces:

import pgdb # für den PyGreSQL Treiber, Standard-Treiber für PostgreSQL
con = pgdb.connect( user='gerhard', host = 'gargamel' )
cursor = con.cursor()
cursor.execute( 'select name, vorname from users where ...' )
for ( name, vorname ) in cursor.fetchall():
    html += durch_template_jagen( name, vorname )
# ...
cursor.close()


Fazit: Da man mit den persistenten Python-Interpretern wie z. B. mod_python sie
bereitstellt, Web-*Anwendungen* schreibt, handelt es sich auch um ganz normale
Python-Anwendungen, Unterschiede zu einer nicht-Web-Anwendung gibt es nicht.

Gerhard
--
mail:   gerhard <at> bigfoot <dot> de       registered Linux user #64239
web:    http://highqualdev.com              public key at homepage
public key fingerprint: DEC1 1D02 5743 1159 CD20  A4B6 7B22 6575 86AB 43C0
reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))



More information about the Python-de mailing list