django-profiletools

Screenshot Software:
django-profiletools
Szczegóły programowe:
Wersja: 0.2
Filmu: 20 Feb 15
Wywoływacz: Daniel Greenfeld
Licencja: Wolny
Popularność: 17

Rating: 4.0/5 (Total Votes: 1)

django-profiletools jest aplikacja Django, który zawiera narzędzia dla modeli profilu w Django.
instalacji
Pobierz kod:
pip zainstalować Django profiletools
Zainstaluj oprogramowanie warstwy pośredniej i context_processor w Twojej settings.py:
TEMPLATE_CONTEXT_PROCESSORS = (
& Nbsp; ...
& Nbsp; "profiletools.context_processors.fetch_profile",
)
MIDDLEWARE_CLASSES = (
...
'Profiletools.middleware.LazyProfileMiddleware'
)
Również w settings.py ustaw AUTH_PROFILE_MODULE do modelu profilu:
AUTH_PROFILE_MODULE = "profiles.Profile"
Na tej podstawie model profil powinien przypominać coś takiego:
# Profiles.models.Profile.py
z django.contrib.auth.models importu Użytkownika
z django.db modeli importowych
Klasa profilu (models.Model):
& Nbsp; user = models.OneToOneField (Użytkownik)
& Nbsp; def __unicode __ (self):
& Nbsp; return self.user.username
Uwaga: Jeżeli nie używasz profiles.models.Profile, mówią members.models.UserProfile iść dalej i zmienić AUTH_PROFILE_MODULE do "members.UserProfile".
Zastosowanie
W szablonach:
{{Request.my_profile}}
W swoim funkcjonalnych poglądów:
profile = request.my_profile
W swoich poglądów opartych na klasach:
profil = self.request.my_profile
Zadzwoń my_profile tyle razy, ile chcesz, a jedynie ładuje raz. Więc jeśli nazwać to 100 razy w widoku SQL SELECT odbywa się tylko za pierwszym razem. Jeśli żaden użytkownik nie zostanie znaleziony, to wynik połączenia my_profile Nic, co sprawia, że ​​łatwiejsze w użyciu szablonów, które muszą być w stanie obsługiwać nieuwierzytelnionych użytkowników (podobnie jak o stronie).
Uwaga: Jeśli na przykładzie members.UserProfile, trzeba zadzwonić, że za pomocą request.my_userprofile.
Problemy z Pythona "jest" ocena i "typ" wbudowanej
Jeśli używasz jest ocena zanim cokolwiek innego z obiektem my_profile, będzie zachowywać się w nieoczekiwany sposób nieco:
Zawsze return false. Na przykład:
>>> Print (request.my_profile None)
Fałszywy
>>> P = request.user.get_profile ()
>>> Print (request.my_profile jest p)
Fałszywy
Również Typ wbudowanej zwraca obiekt django.utils.functional.SimpleLazyObject:
>>> Print (typ)

Należy mieć na uwadze to, co znajduje się w wartości my_profile nie ModelClass wystąpienie lub brak obiektu, lecz django.utils.functional.SimpleLazyObject.
Sposób oceny my_profile przedmiotu
Używać == oceny przedmiotu my_profile. Spowoduje to, że obiekt być ocenione i nie wróci frustrujące fałszywie dodatnich.
Inspiracje
Leniwy załadunku profili został zainspirowany raczej niesamowitej Noah Kantrowitz

Opis .

  • Lazy loading Twojego profilu uwierzytelnionego rekord przez całe życie Wniosek obiektu. Oznacza to, że w Pythonie i szablonów.
  • Nazwa Twojego modelu profil co chcesz w settings.AUTH_PROFILE_MODULE.

Wymagania :

  • Python
  • Django

Inne programy z deweloperem Daniel Greenfeld

Komentarze do django-profiletools

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!