Django'da, şu anda oturum açmış olan kullanıcıyı nasıl bilebilirim?Django'da, şu anda oturum açmış olan kullanıcıyı nasıl bilebilirim?
cevap
Kullanıcıyı nerede tanıyorsunuz? Kullanıcı, request.user
olarak istekte bulunannumaralı belgede sağlanır. İçin
kullanıcı taşıma Eğer böyle bir şey yapabileceği bir modelin örneğinin yaratıcısı veya editörü kaydetmek istiyorsanız here
bkzşablonları:
model.py
class Article(models.Model):
created_by = models.ForeignKey(User, related_name='created_by')
created_on = models.DateTimeField(auto_now_add = True)
edited_by = models.ForeignKey(User, related_name='edited_by')
edited_on = models.DateTimeField(auto_now = True)
published = models.BooleanField(default=None)
M3p İnternette bu buldum ama Modelleri içine kullanıcı adı almak istiyorsanız, @ vikingosegundo cevabını genişletme artık
Sadece bir not, save_formset -> set_user içinde, eğer olmasır, eğer olmastr (örnek, 'created_by') – FurtiveFelon
mevcut kullanıcıyı settings.py içinde alabilir miyim? – Mahendra
Bunu neden yaptın? (lütfen yeni bir soru oluşturun, django günlerim çoktan gitti) – vikingosegundo
, bir ara katman yazılımı ilan içerir bir yol bulmuş nerede bilmiyorum.
from threading import current_thread
_requests = {}
def get_username():
t = current_thread()
if t not in _requests:
return None
return _requests[t]
class RequestMiddleware(object):
def process_request(self, request):
_requests[current_thread()] = request
düzenleyin settings.py
ve MIDDLEWARE_CLASSES
ekleyin: Bu içerik ile, uygulamanızın içinde get_username.py
adlı bir dosya oluşturun
MIDDLEWARE_CLASSES = (
...
'yourapp.get_username.RequestMiddleware',
)
Şimdi, save()
yöntemde, mevcut kullanıcı adı alabilirsiniz böyle:
from get_username import get_username
...
def save(self, *args, **kwargs):
req = get_username()
print "Your username is: %s" % (req.user)
Adanmış konu: http://stackoverflow.com/questions/10991460/django-get-current-user-in-model-save –
@nKn gerçekten adanmış MiddleWare 'models' nesnesinde get_username()' i çağırmak için gerekli? Eğer öyleyse, bu konuda kanonik bir dokümanlar için bir bağlantı olması güzel olurdu. Aynı şeyi yapmak için 1.9.5'te yerel django işlevleri güncellendi mi? – alvas
Django 1.9.6 varsayılan projesahiptir Varsayılan şablonları
0 Yani bunun doğrudan gibi şeyler yazabilirsiniz:
{% if user.is_authenticated %}
{{ user.username }}
{% else %}
Not logged in.
{% endif %}
Bu işlevsellik settings.py
yılında django.contrib.auth.context_processors.auth
bağlam işlemci tarafından sağlanmaktadır.
Adanmış şablon soru: önceki sorunun How to access the user profile in a Django template?
- 1. Şu anda oturum açmış olan veritabanı kullanıcısı silinemiyor. error 15434
- 2. Şu anda oturum açmış olan kullanıcı kimliği Django'da nasıl edinilir?
- 3. Şu anda oturum açmış kullanıcı adı nasıl?
- 4. Symfony2: Şu anda oturum açmış olan kullanıcıyı dikkate alarak bir varlığı nasıl doğrulayabilirsiniz?
- 5. Kullanıcının Facebook'ta zaten oturum açmış olduğunu nasıl bilebilirim?
- 6. Şu anda oturum açmış kullanıcının wordpress içindeki rolü nasıl kullanılır?
- 7. Şu anda oturum açmış olan kullanıcının TCM URI'sini JavaScript koduna nasıl geri alabilirim?
- 8. Django'da, şu anda oturum açmış kullanıcı için kullanıcı alanını form olarak nasıl ayarlayabilirim?
- 9. Laravel 5.1 JWT Oturum açmış kullanıcıyı özel tablodan alın
- 10. Bir form kaydedilirken, şu anda oturum açmış kullanıcı kullanıcı adını modelin alanında nasıl kaydederim?
- 11. Django kullanıcı anasayfası: URL'ye herhangi bir karakter yazmanız şu anda oturum açmış olan kullanıcının ana sayfasını gösterir?
- 12. UserDetails getPassword, spring security 3.1'de null değerini döndürür. Şu anda oturum açmış kullanıcının şifresi nasıl alınır?
- 13. Şu anda açık olan dosyayı VSCode alma
- 14. Şu anda 260 * 460 olan Autohotkey
- 15. Nasıl Şu anda
- 16. Şu anda yüklü olan derlemeler arasında nasıl geçiyorsunuz?
- 17. Dize boşlukla nasıl döngü yapılır? Şu anda dizimde bulunan kelimelerin indeksini nasıl bilebilirim?
- 18. Oturum açmış bir kullanıcının etkin penceresini bir hizmetten alma
- 19. ASP.NET Üyeliği: kullanıcı oturum açmış olarak nasıl ayarlanacağı
- 20. Erlang: Şu anda kayıtlı olan atomların bir listesini alabilir miyim?
- 21. Doğrulama Facebook'ta oturum açmış ve etkinliğini aç
- 22. Oturum açmış bir kullanıcı bulunmayan geçici veriler nasıl depolanır
- 23. Telefonun şu anda seçili olan profilini almak mümkün mü?
- 24. BoundedCapacity, şu anda TPL Dataflow'da işlenmekte olan öğeleri içeriyor mu?
- 25. 'Open Quickly'nin kapsamını Xcode'ta şu anda açık olan projeye sınırla?
- 26. ggplot2: Şu anda efsane
- 27. Şu anda "Get_Item" MethodInfo
- 28. Bir web kullanıcısının şu anda Google'da giriş yaptığını algıla?
- 29. Sistem, şu anda bir işlemde kullanıldığını bildirdiğinde Linux'taki bir kullanıcıyı nasıl silebilirim?
- 30. nasıl program şu anda benim önceki soruya
Yinelenen? http://stackoverflow.com/questions/1476596/login-code-for-django – Abizern
@Abizem, hayır bu sorunun bir kopyası değil. –