7 Stimmen

Testen auf das Vorhandensein von Cookies in Django

Einfaches Zeug hier...

wenn ich versuche, ein Cookie in Django über

request.COOKIE["key"]

wenn das Cookie nicht existiert, wird ein Fehler ausgelöst.

Für Djangos GET y POST denn sie sind QueryDict Objekte, kann ich einfach

if "foo" in request.GET

die wunderbar raffiniert ist...

was ist die nächste Sache zu diesem für Cookies, die nicht ein Try/Catch-Block ist, wenn überhaupt ...

22voto

Daniel Roseman Punkte 565786

request.COOKIES ist ein Standard-Python-Wörterbuch, so dass die gleiche Syntax funktioniert.

Eine andere Möglichkeit ist:

request.COOKIES.get('key', 'default')

die den Wert zurückgibt, wenn der Schlüssel existiert, andernfalls 'default' - Sie können anstelle von 'default' alles Beliebige einsetzen.

6voto

kender Punkte 82504

Erstens, es ist

request.COOKIES

ノット request.COOKIE . Bei der anderen erhalten Sie eine Fehlermeldung.

Zweitens ist es ein Wörterbuch (oder ein wörterbuchähnliches Objekt), also:

if "foo" in request.COOKIES.keys()

wird Ihnen geben, was Sie brauchen. Wenn Sie den Wert des Cookies erhalten möchten, können Sie verwenden:

request.COOKIES.get("key", None)

dann, wenn es keinen Schlüssel gibt "key" erhalten Sie eine None statt einer Ausnahme.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X