django-profiletools

Szoftver screenshot:
django-profiletools
Szoftver adatai:
Változat: 0.2
Feltöltés dátuma: 20 Feb 15
Fejlesztő: Daniel Greenfeld
Engedély: Ingyenes
Népszerűség: 0

Rating: 4.0/5 (Total Votes: 1)

A Django-profiletools egy Django alkalmazás, amely eszközöket profil modellek Django.
Telepítés
Kérem a kódot:
pip telepíteni Django-profiletools
Telepítse a middleware és context_processor a settings.py:
TEMPLATE_CONTEXT_PROCESSORS = (
& Nbsp; ...
& Nbsp; "profiletools.context_processors.fetch_profile",
)
MIDDLEWARE_CLASSES = (
...
"Profiletools.middleware.LazyProfileMiddleware",
)
Szintén settings.py, meg a AUTH_PROFILE_MODULE a profil modell:
AUTH_PROFILE_MODULE = "profiles.Profile"
Ezek alapján a profil modellt kell hasonlítania valami ilyesmit:
# Profiles.models.Profile.py
a django.contrib.auth.models import Felhasználó
a django.db import modellek
class Profile (models.Model):
& Nbsp; user = models.OneToOneField (Felhasználó)
& Nbsp; def __unicode __ (self):
& Nbsp; cserébe self.user.username
Megjegyzés: Ha nem használja profiles.models.Profile, mondjuk members.models.UserProfile megy előre, és változtassa meg a AUTH_PROFILE_MODULE hogy "members.UserProfile".
Használat
A sablonok:
{{Request.my_profile}}
A funkcionális nézet:
profile = request.my_profile
Ebben az osztályban alapú nézetek:
profile = self.request.my_profile
Hívjon my_profile, ahányszor csak akar, csak fogyasztók már. Tehát, ha hívják a 100-szor kilátás, az SQL SELECT csak akkor történik meg először. Ha nincs felhasználó találja, akkor az my_profile hívást eredmény Nincs, ami miatt könnyebb kezelni sablonokat, amelyek szüksége, hogy képes legyen kezelni hitelesített felhasználók (például a körülbelül oldal).
Megjegyzés: Ha a members.UserProfile például, akkor be kell hívni, hogy segítségével request.my_userprofile.
Problémák a Python "van" értékelés és "típus" beépített
Ha a terület, az értékelés előtt csinál mást a my_profile tárgy, akkor fog viselkedni egy kicsit váratlan módon:
A mindig visszatér hamis. Például:
>>> Print (request.my_profile nincs)
Hamis
>>> P = request.user.get_profile ()
>>> Print (request.my_profile p)
Hamis
Emellett a típus beépített visszatér a django.utils.functional.SimpleLazyObject objektum:
>>> Print (típus)

Tartsa szem előtt, hogy mi kerül a my_profile értéke nem ModelClass példány vagy sem tárgy, hanem egy django.utils.functional.SimpleLazyObject.
Hogyan értékeli a my_profile objektumot
Használja ==, hogy értékelje a my_profile objektumot. Ez arra kényszeríti az objektumot kell értékelni, és nem tér vissza bosszantó hamis pozitív.
Inspiration
A lusta loading profilok ihlette inkább hihetetlen Noah Kantrowitz.

Tulajdonságok :

  • Lazy betöltését hitelesített profil rekord az egész kérés objektum élettartama. Ez azt jelenti, a Python-kód és a sablonokat.
  • Adjon nevet a profil modellt, amit akarsz a settings.AUTH_PROFILE_MODULE.

követelmények :

  • Python
  • Django

Más szoftver fejlesztő Daniel Greenfeld

Hozzászólások a django-profiletools

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!