django

2015-01-30 4 views
5

में उपयोगकर्ता लॉगिन के ठीक बाद फ़ंक्शन का आह्वान करें I उपयोगकर्ता लॉग-इन के ठीक बाद (do_something) फ़ंक्शन को आमंत्रित करने का कोई तरीका ढूंढ रहा था। ऐसा करने काdjango

def do_something(request): 
    # do blah-blah 
    return data 

एक तरीका यह है कि मैं META['HTTP_REFERER'] का उपयोग कर रेफरर पेज जांच सकें 'login' पेज या नहीं के माध्यम से आता है।

लेकिन यदि पृष्ठ कहीं और से आता है तो यह मजबूत मानदंड नहीं बनाता है।

क्या कोई post_login_signal है जो इस समस्या के लिए मेरी मदद कर सकता है।

उत्तर

-2

अपना स्वयं का लॉग इन फ़ंक्शन बनाएं। the Django documentation example की तरह कुछ:

def login_view(request): 
    username = request.POST['username'] 
    password = request.POST['password'] 
    user = authenticate(username=username, password=password) 
    if user is not None: 
     if user.is_active: 
      login(request, user) 
      # Do what you want to do here 
     else: 
      # Return a 'disabled account' error message 
    else: 
     # Return an 'invalid login' error message. 
+0

आपका उत्तर केवल उस स्थिति में लागू होता है जब वह लॉगिन फ़ंक्शन बदल सकता है। यहां सही बात user_loggded_in का उपयोग है। – levi