django-profiletools

Screenshot Λογισμικό:
django-profiletools
Στοιχεία Λογισμικού:
Εκδοχή: 0.2
Ανεβάστε ημερομηνία: 20 Feb 15
Προγραμματιστής: Daniel Greenfeld
Άδεια: Δωρεάν
Δημοτικότητα: 0

Rating: 4.0/5 (Total Votes: 1)

Django-profiletools είναι ένα app Django που παρέχει εργαλεία για μοντέλα προφίλ στο Django.
installation
Αποκτήστε τον κωδικό:
Pip εγκατάσταση Django-profiletools
Εγκαταστήστε το middleware και context_processor σε settings.py σας:
TEMPLATE_CONTEXT_PROCESSORS = (
& Nbsp? ...
& Nbsp? "Profiletools.context_processors.fetch_profile»,
)
MIDDLEWARE_CLASSES = (
...
«Profiletools.middleware.LazyProfileMiddleware»,
)
Επίσης σε settings.py, που το AUTH_PROFILE_MODULE με το μοντέλο του προφίλ σας:
AUTH_PROFILE_MODULE = "profiles.Profile"
Με βάση αυτό, το μοντέλο του προφίλ σας θα πρέπει να μοιάζει με κάτι σαν:
# Profiles.models.Profile.py
από django.contrib.auth.models εισαγωγή χρήστη
από django.db μοντέλα εισαγωγής
κατηγορία Προφίλ (models.Model):
& Nbsp? User = models.OneToOneField (Χρήστης)
& Nbsp? Def __unicode __ (self):
& Nbsp? Self.user.username επιστροφή
Σημείωση: Εάν δεν μπορείτε να χρησιμοποιήσετε profiles.models.Profile, λένε members.models.UserProfile να προχωρήσει και να αλλάξει το AUTH_PROFILE_MODULE να "members.UserProfile".
Χρήση
Σε πρότυπά σας:
{{}} Request.my_profile
Σε λειτουργικά απόψεις σας:
προφίλ = request.my_profile
Κατά την άποψη σας ταξικά:
προφίλ = self.request.my_profile
Καλέστε my_profile όσες φορές θέλετε, το μόνο φορτία φορά. Έτσι, αν το καλέσετε 100 φορές σε μια προβολή, η πρόταση SQL SELECT γίνεται μόνο την πρώτη φορά. Αν δεν βρεθεί χρήστη, τότε το αποτέλεσμα my_profile κλήση είναι Καμία, η οποία καθιστά ευκολότερο να χειριστεί τα πρότυπα τα οποία πρέπει να είναι σε θέση να χειριστεί μη εξουσιοδοτημένων χρηστών (όπως το περίπου σελίδα).
Σημείωση: Αν χρησιμοποιείτε το παράδειγμα members.UserProfile, θα πρέπει να καλέσετε ότι με τη χρήση request.my_userprofile.
Προβλήματα με Python "είναι" Αξιολόγηση και "τύπος" built-in
Εάν χρησιμοποιείτε το είναι η αξιολόγηση πριν κάνετε οτιδήποτε άλλο με το αντικείμενο my_profile, θα συμπεριφερθεί σε μια ελαφρώς απρόσμενο τρόπο:
Η πάντα θα επιστρέψει false. Για παράδειγμα:
>>> Print (request.my_profile είναι None)
Ψευδής
>>> P = request.user.get_profile ()
>>> Print (request.my_profile είναι p)
Ψευδής
Επίσης, ο τύπος ενσωματωμένο θα επιστρέψει ένα αντικείμενο django.utils.functional.SimpleLazyObject:
>>> Print (τύπος)
<Κατηγορία «django.utils.functional.SimpleLazyObject»>
Κρατήστε στο μυαλό ό, τι τοποθετείται στην αξία my_profile δεν είναι ModelClass παράδειγμα ή Κανένα αντικείμενο, αλλά μάλλον μια django.utils.functional.SimpleLazyObject.
Πώς να αξιολογήσει την my_profile αντικείμενο
Χρησιμοποιήστε == να αξιολογήσει το αντικείμενο my_profile. Αυτό αναγκάζει το αντικείμενο που πρέπει να αξιολογηθούν και δεν θα επιστρέψει απογοητευτικό ψευδώς θετικά αποτελέσματα.
Έμπνευση
Ο τεμπέλης φόρτωσης του προφίλ είναι εμπνευσμένο από το μάλλον απίστευτο Νώε Kantrowitz

Χαρακτηριστικά :.

  • Lazy φόρτωση των επικυρωμένο ρεκόρ του προφίλ σας σε όλη τη διάρκεια ζωής αίτημα αντικειμένου. Αυτό σημαίνει ότι στον κώδικα Python και τα πρότυπα.
  • το όνομα σας οτιδήποτε προφίλ μοντέλο που θέλετε στο settings.AUTH_PROFILE_MODULE.

Απαιτήσεις :

  • Python
  • Django

Άλλο λογισμικό του προγραμματιστή Daniel Greenfeld

django-tagging-ext
django-tagging-ext

12 May 15

django-mongonaut
django-mongonaut

20 Feb 15

django-uni-form
django-uni-form

11 May 15

Σχόλια για django-profiletools

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!