gutes Python CGI buch

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

hi.

könnt ihr mir ein gutes Python CGI buch nennen,
dass sich auf _wirklich_ nur mit CGI beschäftigt?

mfg

Olf

PS: ich wusste nicht wo dieser beitrag rein sollte. bitte habt verständnis :oops:
Gast

hi

es soll gutes in english geben, guck doch mal bei amazon, ansonsten sieht es finster aus, was das betrifft.


mfg


rolgal
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

ich hab auch schon bei den way2python buchempfehlungen geguckt.

aber ich bin ein paar tuts und kurse von mir, die aufm rechner lagen durchgegangen und habe das hier im alan gauld tut gefunden:
Internet Programming with Python
Guido Van Rossum et al - ??? Geschrieben vom Schöpfer der Sprache mit einer starken Betonung auf Internetprogrammierung, einschließlich HTML, CGI und generellen Sockets. Es besitzt auch am Anfang eine allgemeine Einführung in die Sprache .
is das das gemeinte englische buch?

mfg

Olf
Gast

hi

auf der seite werden zwei erwähnt, gelesen habe ich sie nicht, ich vermute auch nur dass sie gut sein könnten.

http://www.amazon.com/exec/obidos/tg/d ... ce&s=books

dsa zweite unter "better together" ist vielleich auch interessant

mfg

rolgal
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

hm......alles englisch, da kann ich mir auch die doku reinziehen :(

trotzden danke!

mfg

Olf
Gast

hallo !

was brauchst du denn konkret, ich habe einiges an skripten beisammen, die alle auch gut funktionieren. verbessern kann man sicher noch viel.

mfg

rolgal
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

konkret brauch ich ein buch, dass sich mit dem thema
POST / GET variablen, Coockies, Datenbank (MySQL) beschäftigt.

mfg

Olf
Gast

hi

naja, einführend ist einiges drin in:
'Objektorientierte Programmierung mit Python' von M. Weigend, wobei ich seinen zugang zu oop nicht mag.

'Python GE-PACKT' auch von ihm, hier findest du auch ein nettes bsp zu mysql.

im 'Python workshop' von 'Stefan Schwarzer' sind mehr sachen zum thema internet programmierung, wobei auch ein onlinespiel besprochen, wie nützlich es ist, kann ich nocht nicht sagen.

aus den verschiedenen kapitlen des buches 'Einstieg in Python' von T. Theis, kann man recht viel zusammenbasteln. gerade richtung mysql, da habe ich selbst ein bisschen was gemacht.

mehr fällt mir auf die schnelle nicht ein.

ideal ist keines der bücher, aber es ist überall was nützliches drin. ergänzend kannst du hier im forum ja immer hilfe bekommen. diese strategie weist sich als immer nützlicher und zielführender.

mfg

rolgal
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hi. Das meiste hab ich auch ohne Bücher gelernt, zumindest bei POST/GET und Cookies kommt man da ohne aus. POSTund GET fallen mehr in die Rubrik HTML allgemein und sind in selfhtml nachzulesen, welches auch ein eigenes Kapitel für CGI hat. Hier wird zwar entweder allgemein oder am Beispiel von Perl erklärt, aber das ist egal, es lässt sich trotzdem sehr viel daraus lernen.

ZUm Thema Internetprogrammierung mit Python gibt es hier einen kleinen Workshop, vor allem diesen Artikel solltest du dir für die Cookies durchlesen. Für Cookies hab ich auch mal eine schöne Funktion im Netz irgendwo bei activestate gesehen, weiß aber nicht mehr die Adresse... auf jeden Fall kann man damit die eventuell vom Browser übermittelten Sachen gut einlesen:

Code: Alles auswählen

"""A cgi script that counts how many times the user has visited a web
site.  A quick example on how to use cookies.

This script assumes that you have the Cookie module from Python 2.0.
If not, you might need to fiddle with it a bit --- not quite sure.

Author: Danny Yoo (dyoo@hkn.eecs.berkeley.edu)
"""

from Cookie import SimpleCookie
import cgi,cgitb;cgitb.enable()
import os

def getCookie(initialvalues = {}):
    """Return a SimpleCookie.  If some of the cookie values haven't
    been set, we'll plunk them into the cookie with the initialValues
    dict."""
    if os.environ.has_key('HTTP_COOKIE'):
        C = SimpleCookie(os.environ['HTTP_COOKIE'])
    else:
        C = SimpleCookie()
    for key in initialvalues.keys():
        if not C.has_key(key):
            C[key] = initialvalues[key]
    return C
Tja, und mit MySQL musste ich mich noch nie auseinander setzen. Das wird wohl auch dein Hauptproblem werden :wink:

hth, Milan
Gast

hi milan!

ich wage es ja fast nicht dich zu kritisieren, aber die linktipps, abgesehen von selfhtml, der vorzeigeseite schlechthin, finde ich net gut.
das gästebuch haben wir hier im forum schon mächtig verbessert und ausserdem verwendet er noch immer veraltete funktionen bzw. module. auch der formmailer ist so wie er ihn präsentiert, ohne fehlerbehandlungen uninteressant.

bei cookies verwendet er smartcookies:

Code: Alles auswählen

>>> c=Cookie.SmartCookie()
/usr/local/lib/python2.3/Cookie.py:712: DeprecationWarning: Cookie/SmartCookie class is insecure; do not use it
  DeprecationWarning)
und

Code: Alles auswählen

 datei=open(text,'a')
ist auch nicht mehr das gelbe vom ei.

man kommt zwar schnell zu lösungen, aber es ist glaube ich einfach zu oberflächlich, wie er das im internetworkshop bespricht.

mfg

rolgal
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

rolgal hat geschrieben:ich wage es ja fast nicht dich zu kritisieren
Hi. Mach ruhig, es kann doch nix schaden...
rolgal hat geschrieben:...das gästebuch haben wir hier im forum schon mächtig verbessert und ausserdem verwendet er noch immer veraltete funktionen bzw. module.
Nunja, als ich die Links zusammengestellt hab, wars schon lange her, da war Python 2.1 brandneu :wink: Sicherlich sind sie rel. oberflächlich, aber ich denke mal es wird eine erste praktische Anwendung von Cookies gezeigt. Das erleichtert doch sicher den Einstieg, wenn man schon mal das Prinzip gesehen hat, oder? (im Detail: ich benutze auch immer nur SimpleCookies, wie auch aus dem Codefragment von mir ersichtlich ist)

Für den Rest müsste man dann halt mal kombiniert probieren. Sicher ziemlich aufwändig, kann aber auch helfen.

Nix für ungut :wink: ,
Milan
Gast

hi milan!

aber daovn hat er doch gleich mehr. und ich wollte eigentlich sagen, dass man eher auf ressourcen im forum verweist wenn sie da sind. ich habe mein gästebuch umgeschrieben für eine fassung, die nach kleinen anpassungen von jedem verwendet werden kann. ich habe ja im original ein paar imports drinnen.

deshalb habe ich mal vorgeschlagen, einen themenbezogenen codeteil zu eröffnen.

ich habe mir den folgenden code nicht aus der nase gezogen, sondern v.a. durch die hilfe von dookie und milan erstellt. danke nochmal an der stelle.

hoffe es ist kein fehler beim umschreiben passiert. funktioniert hat es mal bei mir.

Code: Alles auswählen

#!/usr/local/bin/python

import cgi


try:
    form=cgi.FieldStorage()
    name=form['name'].value
    entry=form['eintrag'].value
    name=cgi.escape(name)
    entry=cgi.escape(entry)
    result='<p><b>%s</b>schrieb:</p><p>%s</p>'%(name,entry)
    target='/var/www/html/crossover/gaestebuch.txt'
    f=file(target,'r')
    content=f.read()
    f.close()
    result=result+content
    f=file(target,'w')
    f.write(result)
    f.close()
    print "Location: http://localhost/crossover/gaestebuch.shtml \n\n"
except:
    print "Location: http://localhost/crossover/gaestebuch.shtml \n\n"
hat gleich mehrer vorteile gegenüber dem code aus dem netz.

neue einträge stehen ganz oben und escape von & und <,> ist auch ne feine sache

mfg

rolgal
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

merci für die antworten,
ich hab leider nicht das geld, mir diese bücher zu kaufen,
und saugen als ebooks is auch schlecht, da es sie wahrscheinlich nicht geben wird (es gibt sehr wenig über python bei p2p programmen/netzwerken, wahrscheinlich weil es opensource is...) :roll:

ich werde mir mal drweb genauer anschauen...
und ein wenig nach englischen googlen (hab ich ma, aber weil es englisch war hab ich es nicht weiter angeguckt...)

noch was zu den POST / GET variablen:
woran erkennt man, dass das GET oder POST ist:

Code: Alles auswählen

puffer = cgi.FieldStorage()

print puffer["wert"].value
mfg

Olf
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hi. Das ist aber schon mehr CGI statt Offtopic, gell? Trotzdem mal als Ausnahme (weiteres bitte im CGI-Forum). Für die einzelnen Variablen wirdst du es nicht rausfinden können, aber du kannst es insgesamt mit os.environ["REQUEST_METHOD"] überprüfen.

Milan
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

ich meinte es eigentlich wie z.b. in PHP:

$_GET["wert"]
und
$_POST["wert"]

mfg

Olf
Antworten