Próbuję utworzyć stosunkowo prosty koszyk w Django. Przechowuję wózek w request.session ['cart']. Dlatego będę musiał uzyskać dostęp do danych w tej sesji, gdy coś zostanie do niej dodane. Jeśli jednak sesja nie jest jeszcze ustawiona, nie mogę uzyskać do niej dostępu bez otrzymania błędu. Czy mimo to można sprawdzić, czy sesja jest ustawiona, aby można ją było ustawić, jeśli nie istnieje?Sprawdź, czy klucz sesji jest ustawiony w Django
13
A
Odpowiedz
35
Zakładam, że chcesz sprawdzić, czy klucz jest ustawiony w sesji, a nie jeśli sesja jest ustawiony (nie wiem co druga oznacza). Jeśli tak, to:
można zrobić:
if key not in request.session:
# Set it.
W twoim przypadku:
if 'cart' not in request.session:
# Set it.
EDIT: zmieniony fragment kodu do korzystania key not in
zamiast not key in
. Dzięki @katrielalex.
11
Można użyć get
-method na słowniku sesji, nie wygeneruje błąd, jeśli klucz nie istnieje, ale nikt powrócić jako wartość domyślną lub swojej domyślnej wartości niestandardowe:
cart = request.session.get('cart')
cart = request.session.get('cart', 'no cart')
Powiązane problemy
- 1. Sprawdź, czy klucz sesji istnieje w Laravel 5.1?
- 2. Django: Sprawdź, czy atrybut klucz obcy jest ustawiona
- 3. Klucz sesji Django 1.5 jest pusty
- 4. VBA sprawdź, czy obiekt jest ustawiony
- 5. Klucz sesji django zmienia się po uwierzytelnieniu
- 6. Jak sprawdzić, czy klucz jest ustawiony w chrome.storage?
- 7. Sprawdź, czy bit jest ustawiony tylko raz w serii bitsets
- 8. Co zwróci $ _GET ['klucz'], jeśli klucz nie jest ustawiony?
- 9. Sprawdź, czy istnieje klucz rejestru
- 10. Sprawdź, czy formularz ma klucz?
- 11. SparseArray, sprawdź czy klucz istnieje
- 12. Sprawdź, czy klucz NSUserDefaults istnieje
- 13. Django sprawdź, czy pole jest puste?
- 14. Django CMS - sprawdź czy zastępczy jest pusty
- 15. Jak usunąć klucz sesji w Django po jego użyciu raz?
- 16. Django testowania przechowywane dane sesji w testach
- 17. Sprawdź, czy mapa eliksiru nie jest pusta i istnieje klucz
- 18. Sprawdź, czy klucz istnieje na liście Pythona
- 19. Sprawdź, czy klucz jest literą/cyfrą/symbolem specjalnym
- 20. Sprawdź klucz istnieje w NSDictionary
- 21. Sprawdź, czy zmienna jest zdefiniowana w języku szablonowania django.
- 22. Django sprawdź, czy obiekt w polu ManyToMany
- 23. Django - Przechowywanie obiektów w sesji
- 24. Sprawdź, czy klucz istnieje w dict Python w Jinja2 szablony
- 25. Testowanie zmiennej sesji w django
- 26. Ważność sesji Django?
- 27. Tastypie klucz obcy ustawiony na wartość null
- 28. Podstawowy klucz złożony w django
- 29. Sprawdź, czy klucz istnieje w słowniku. Jeśli nie, dołącz to
- 30. Sprawdź, czy jest fałsz.
The Pythoniczny sposób byłby "jeśli klucz nie jest w request.session". – katrielalex