[BottlePy] all. Frage zu Cookies und BottlePy {erledigt}

Django, Flask, Bottle, WSGI, CGI…
Antworten
seishin
User
Beiträge: 87
Registriert: Montag 19. Dezember 2011, 16:42

Jetzt tüftel ich hier weiter mit BootlePy gefällt mir alles bis jetzt auch sehr gut.

Bei folgendem erhalte ich:
Egal ob @route('/') oder @route('/h')...
Ihr wisst was ich meine...

Code: Alles auswählen

from bottle import route, run, request, response

@route('/')
def index():
	count = int(request.cookies.get('counter', '0'))
	count += 1
	response.set_cookie('counter', str(count))
	return "You visited this page %d times" % count

@route('/h')
def index(self):
	if request.get_cookie("visited"):
		return "Welcome back!"
	else:
		response.set_cookie("visited", "yes")
		return "Hello there!"

run(host='localhost', port='8080')
Ausschließlich: Unhandled exception
Das ganze läuft via "run(host='localhost', port='8080')" also nicht auf einem Server.
Funktioniert das generell nicht damit und nur auf einem Server?
Am Browser liegt es nicht dieser akzeptiert cookies...

Vielen Dank schon mal.


Greatz,
seishin
Zuletzt geändert von seishin am Dienstag 27. Dezember 2011, 13:40, insgesamt 1-mal geändert.
BlackJack

@seishin: Setz doch mal `bottle.DEBUG` auf `True` damit Du auch siehst *welche* Ausnahme Du bekommst.

Nachtrag: '/' funktioniert bei mir und bei '/h' gibt es in der Konsole einen ``TypeError: index() takes exactly 1 argument (0 given)`` — was auch nicht weiter verwunderlich sein sollte.
seishin
User
Beiträge: 87
Registriert: Montag 19. Dezember 2011, 16:42

Hi, BlackJack, danke.

Folgendes...
Die Exception:
AttributeError("'Request' object has no attribute 'cookies'",)
Und der Traceback offenbart mir folgendes:
Traceback (most recent call last):
File "/home/jh/dev/python/MovieMove/bottle.py", line 440, in handle
return handler(**args)
File "test.py", line 7, in index
count = int(request.cookies.get('counter', '0'))
AttributeError: 'Request' object has no attribute 'cookies'
Woran kann denn das nun liegen.
Die Dateien (bottle.py und test.py) sind lese und schreib berechtigt, wobei dies wohl eher un-relevant sein dürfte... ? Zumindest ändert sich nichts wenn ich die Berechtigungen beschränke...

LG und tausend Dank für eure Aufmerksamkeit und Hilfe!
BlackJack

@seishin: Welche Version von Bottle setzt Du denn ein?
seishin
User
Beiträge: 87
Registriert: Montag 19. Dezember 2011, 16:42

Als Copyright steht in der bottle.py 2009...
Auf der Seite gibt es eine mit Copyright 2011, mit welcher es auch einwandfrei funktioniert!!! :roll:
Ich glaube ich sollte mal Urlauberieren... ;)


Vielen herzlichen Dank BlackJack, wundervolle Weihnachten falls du dies zelebrierst!
Mit bestem Gruß und Wunsch,
seishin
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

cookies (also klein) gilt wohl nur für Bottle 0.10.x

Bei Bottle 0.9.x (und davor?) musst du COOKIES schreiben. Dann funktioniert dein Code auch.

BTW: du nutzt 2x den gleichen Namen "index" für eine Funktion...

Gruß, noisefloor
Antworten