django-profiletools

Software screenshot:
django-profiletools
Rincian Software:
Versi: 0.2
Tanggal Upload: 20 Feb 15
Pengembang: Daniel Greenfeld
Lisensi: Gratis
Popularitas: 0

Rating: 4.0/5 (Total Votes: 1)

Django-profiletools adalah aplikasi Django yang menyediakan alat untuk model profil di Django.
Instalasi
Dapatkan kode:
pip menginstal Django-profiletools
Instal middleware dan context_processor di settings.py Anda:
TEMPLATE_CONTEXT_PROCESSORS = (
& Nbsp; ...
& Nbsp; 'profiletools.context_processors.fetch_profile',
)
MIDDLEWARE_CLASSES = (
...
'Profiletools.middleware.LazyProfileMiddleware',
)
Juga di settings.py, mengatur AUTH_PROFILE_MODULE model profil Anda:
AUTH_PROFILE_MODULE = "profiles.Profile"
Berdasarkan itu, model profil Anda harus menyerupai sesuatu seperti:
# Profiles.models.Profile.py
dari django.contrib.auth.models impor Pengguna
dari model impor django.db
Profil class (models.Model):
& Nbsp; user = models.OneToOneField (User)
& Nbsp; def __unicode __ (self):
& Nbsp; kembali self.user.username
Catatan: Jika Anda tidak menggunakan profiles.models.Profile, mengatakan members.models.UserProfile pergi ke depan dan mengubah AUTH_PROFILE_MODULE untuk "members.UserProfile".
Penggunaan
Dalam template Anda:
{{}} Request.my_profile
Dalam pandangan fungsional Anda:
profil = request.my_profile
Dalam pandangan berbasis kelas Anda:
profil = self.request.my_profile
Sebut my_profile sebanyak yang Anda inginkan, hanya beban sekali. Jadi, jika Anda menyebutnya 100 kali dalam sebuah tampilan, SQL SELECT hanya dilakukan pertama kali. Jika tidak ada pengguna yang ditemukan maka hasilnya my_profile panggilan None, yang membuatnya lebih mudah untuk menangani template yang harus mampu menangani pengguna yang tidak berkepentingan (seperti tentang halaman).
Catatan: Jika Anda menggunakan contoh members.UserProfile, Anda akan perlu untuk memanggil bahwa dengan menggunakan request.my_userprofile.
Masalah dengan Python "adalah" evaluasi dan "tipe" built-in
Jika Anda menggunakan adalah evaluasi sebelum melakukan apapun dengan objek my_profile, ia akan berperilaku dalam cara yang sedikit tak terduga:
Akan selalu kembali palsu. Sebagai contoh:
>>> Print (request.my_profile adalah None)
Palsu
>>> P = request.user.get_profile ()
>>> Print (request.my_profile adalah p)
Palsu
Juga, jenis built-in akan mengembalikan objek django.utils.functional.SimpleLazyObject:
>>> Print (jenis)

Perlu diingat apa yang ditempatkan dalam nilai my_profile bukan ModelClass contoh atau ada objek, melainkan django.utils.functional.SimpleLazyObject.
Bagaimana untuk mengevaluasi objek my_profile
Gunakan == untuk mengevaluasi objek my_profile. Hal ini akan memaksa obyek yang akan dievaluasi dan tidak akan kembali frustasi false-positif.
Inspirasi
The lazy loading profil terinspirasi oleh agak luar biasa Noah Kantrowitz

Fitur :.

  • pemuatan Malas catatan profil dikonfirmasi Anda di masa objek permintaan. Itu berarti dalam kode Python dan template.
  • Nama Anda apa Model profil yang Anda inginkan dalam settings.AUTH_PROFILE_MODULE.

Persyaratan :

  • Python
  • Django

Perangkat lunak lain dari pengembang Daniel Greenfeld

django-nosqladmin
django-nosqladmin

14 Apr 15

django-uni-form
django-uni-form

11 May 15

django-mongonaut
django-mongonaut

20 Feb 15

Komentar untuk django-profiletools

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!