request.user
'u prior_user
adlı bir değişkene atandım, daha sonra kullanıcının kimliğini doğruladım, sonra request.user != prior_user
olup olmadığını kontrol ettim. Onları aynı olmamasını ve prior_user
'un "AnonymousUser" içermesi gerektiğini umdum. Benim için sürpriz oldu.django: django.utils.functional.SimpleLazyObject'in amacı nedir?
örnek kod: Sonra prior_user aslında django.utils.functional.SimpleLazyObject bir örneğini içeren keşfetti
prior_user = request.user # request object, obtained froma view
authenticate_user(request) # some function that authenticates
print prior_user.username != request.user.username # returns False i.e.they are the same!
yüzden yani prior_user değeri baktım değil tembel arama tipi şey bir tür olduğunu varsayalım Gerçekten kullanılana kadar. Kaynak koduna baktığımda, bunu doğrulayamıyorum.
Django deneyimi olan herkes bana neler olduğunu ve niçin gerekli olduğunu söyleyebilir mi?
Bu beni biraz sarsar, çünkü olağan atama bildirimi beklediğim şekilde çalışmıyor ve Django'nun içinde başka ne gibi davranıyor? Bunu, docs'da açıklandığı gibi görmedim.
Django süper insan bilgisi olan herkes biraz netlik sağlayabilir mi?
Teşekkür ederim, bu benim gibi bir django acemi için çok yardımcı oldu! Büyük açıklama için – donogood
+1! – Anoyz