Proste rzeczy tutaj ...Testowanie istnienia pliku cookie w Django
jeśli staram się odwołać cookie w Django poprzez
request.COOKIE["key"]
jeśli ciasteczko nie istnieje, że rzuci kluczowy błąd.
Dla Django GET
i POST
, ponieważ są one QueryDict
obiekty, mogę tylko zrobić
if "foo" in request.GET
który jest cudownie wyrafinowany ...
co jest najbliższa rzecz do tego dla ciasteczek, które nie jest try/catch, jeśli coś ...
Od Pythona 2.2 można użyć "if" foo "na request.COOKIES" - nie ma potrzeby dodawania ".keys()" –
w prawo. Prawdopodobnie to tylko ja, ale bardziej lubię dłuższą wersję (może to być kwestia pracy z pre-2.2 przez długi czas). Jest bardziej symetryczny, a więc bardziej niejawny, co sprawdzam, jeśli używam: w "foo" w dict.keys() i jeśli "bar" w dict.values () ... – kender
@kender, jest tylko wadą ' "foo" w dict.keys() '-' dict.keys() 'tworzy listę, która jest następnie zbierana przez śmieci - dodatkowy narzut. – warvariuc