Wdrażam prosty system polecania. Mam oprogramowanie pośredniczące, które ustawia zmienną sesji identyfikującą użytkownika kierującego. Mam model, który wiąże użytkownika kierującego z poleconym użytkownikiem. Próbuję użyć sygnału post_save z obiektu User, aby zapełnić ten model. Jak uzyskać dostęp do obiektu sesji z obsługi sygnału post_save?Jak uzyskać sesję z obsługi sygnału w Django
Odpowiedz
Nie ma sposobu bez użycia thread specific global variable.
Ale nie jestem pewien, czy musisz. W przypadku mojego systemu polecania i zapraszania po prostu mam rejestrację użytkownika jako normalną i po utworzeniu użytkownika, odbierz odwołanie z sesji. W prawie wszystkich sytuacjach nadal będzie to ta sama sesja.
Jeśli w twojej sesji jest coś, co temu przeszkadza, dodałbym go do formularza użytkownika.
Może się okazać przydatna dokumentacja on using sessions out of views.
Patrzyłem na to, ale nie wiem, jak uzyskać klucz sesji i musiałbym wiedzieć, który typ pamięci sesji jest używany. –
AFAIK to nie działa, ponieważ nie masz klucza sesji w module obsługi sygnału. – guettli
- 1. Jak usunąć obsługi sygnału
- 2. Python: Jak "rozwidlić" sesję w django
- 3. Jak wysłać sygnał django z innego sygnału
- 4. Jak przesłonić obsługi sygnału składnika nadklasy
- 5. Jak zmodyfikować sesję w ramach testu Django
- 6. Django post_save() implementacja sygnału
- 7. Jak uzyskać "starą wartość" z sygnału ReactiveCocoa?
- 8. Użyj flock() w module obsługi sygnału
- 9. Jak uzyskać sesję Liferay w niestandardowym serwlecie?
- 10. Jak ustalić, czy kod działa w kontekście obsługi sygnału?
- 11. Wyczyść Pythona SIGINT domyślne obsługi sygnału
- 12. zachowanie rodzica i potomka dla obsługi sygnału
- 13. Jak uzyskać tę samą sesję subdomen w Grails
- 14. Jak uzyskać aktualną wartość sygnału ReactiveCocoa?
- 15. Jak uzyskać aktualną moc sygnału komórki?
- 16. Gdzie jest kod dla domyślnej obsługi sygnału w binarnym ELF?
- 17. jak uzyskać siłę sygnału modemu 3g w języku C++?
- 18. Jak uzyskać HttpServletRequest w programie obsługi Ring?
- 19. Wywołanie kodu ZeroMQ owiniętego OCaml od obsługi sygnału
- 20. Jak przerwać sesję w Magento?
- 21. Testowanie, że podłączyłem się do konkretnego sygnału w Django
- 22. Pobierz sesję z HttpActionContext
- 23. Jak odnowić sesję spotify?
- 24. Ustalanie częstotliwości z danych sygnału w MATLAB
- 25. definiowanie niestandardowego sygnału post_migrate
- 26. Jak powiązać sesję hibernacji z wątkiem w Grails?
- 27. Java - mechanizm sygnału/slotów
- 28. Jak czytać sesję Zend2 w aplikacji Symfony3
- 29. Jak uzyskać django HttpRequest z żądania frameworku django?
- 30. Wyłącz sesję w Laravel
Mam kilka problemów. 1. Mój autoryzowany system to osobna aplikacja (zbudowana na django auth), która wymaga aktywacji e-mail. Użytkownicy często nie logują się przez pierwszy czas, dopóki sesja nie wygasła. Dlatego też odsyłanie musi być rejestrowane podczas tworzenia. 2. Nie próbuję * nie zadzierać z widokami/szablonami auth (lub tworzenia), ponieważ mam nadzieję, że zrobię to całkowicie odizolowane od systemu auth (jeśli to możliwe). W tej chwili nie wygląda dobrze. –
Tak, będziesz musiał użyć globalnych zmiennych specyficznych dla wątków ... coś niezręcznego. –
Dzięki za pomoc. –