def index(request):
the_user = request.user
Django में, मुझे कैसे पता चलेगा कि यह वास्तविक उपयोगकर्ता है या नहीं? मैंने कोशिश की:
if the_user:
लेकिन "अनाम" अगर कोई लॉग इन नहीं करता है, तो भी, यह हमेशा सही रहता है और यह काम नहीं करता है।
जवाबों:
आप request.user.is_anonymous
रिटर्न की जांच कर सकते हैं True
।
is_authenticated()
: कृपया डॉक्स। Jangoproject.com/en/1.9/topics/auth/default/…
is_authenticated()
। Thegarywilson.com/blog/2006/is_authenticated-vs-is_an बेनाम
request.user.is_authenticated
, जो कि Django 1.10+ में एक विशेषता है, is_anonymous
अब जैसा है - docs.djangoproject.com/en/dev/ref/contrib/auth/… देखें । ध्यान दें कि यदि आप Django के अभिभावक का उपयोग कर रहे हैं, तो ये विशेषताएँ वह नहीं करेंगी जो आप सोचते हैं कि वे करेंगे - django-guardian.readthedocs.io/en/stable/configuration.html
के लिए एक विकल्प
if user.is_anonymous():
# user is anon user
यह देखने के लिए कि उपयोगकर्ता वस्तु की आईडी क्या है:
if user.id == None:
# user is anon user
else:
# user is a real user
देख https://docs.djangoproject.com/en/dev/ref/contrib/auth/#anonymous-users
मुझे पता है कि मैं यहां थोड़ी सी खुदाई कर रहा हूं, लेकिन एक Google खोज ने मुझे इस पृष्ठ पर ला दिया।
यदि आपके दृश्य में यह आवश्यक है कि उपयोगकर्ता लॉग इन है, तो आप @login_required डेकोरेटर को लागू कर सकते हैं:
from django.contrib.auth.decorators import login_required
@login_required
def my_view(request):
…
views.py
आपrequest.user.is_anonymous()
इसे एक फ़ंक्शन के बाद से उपयोग करें , जबकि टेम्प्लेट में आपको उपयोग करना चाहिए{{user.is_anonymous}}