मैं समझने की कोशिश कर रहा हूं कि Flask-Login
कैसे काम करता है।फ्लास्क-लॉगिन: यह समझ में नहीं आता कि यह कैसे काम करता है
मैं उनके दस्तावेज़ में देखता हूं कि वे उपयोगकर्ताओं की एक पूर्व-जनसंख्या सूची का उपयोग करते हैं। मैं डेटाबेस-संग्रहीत उपयोगकर्ता सूची के साथ खेलना चाहता हूं।
हालांकि, मुझे इस Flask-Login
मॉड्यूल में कुछ चीजें समझ में नहीं आ रही हैं।
@login_manager.user_loader
def load_user(userid):
#print 'this is executed',userid
return user(userid, 'asdf')
यह कोड हर अनुरोध पर कॉल किया जाएगा? इसका उपयोग मेरे उपयोगकर्ता ऑब्जेक्ट के सभी विवरण लोड करने के लिए किया जाता है?
अभी के लिए, मैं इस कोड है:
@app.route('/make-login')
def make_login():
username = 'asdf'
password = 'asdf'
user_data = authenticate(username, password)
user_obj = user(user_data[0], user_data[1])
login_user(user_obj)
return render_template('make-login.html')
जब मैं का उपयोग/मेकअप लॉगिन, मैं लॉग इन करना चाहते
मेरे उपयोगकर्ता वर्ग:।
class user(object):
def __init__(self, id, username, active=True):
self.username = username
self.id = id
#self.active = active
def is_authenticated(self):
return True
def is_active(self):
return True
def is_anonymous(self):
return False
def get_id(self):
return 5
इसके अलावा, मैंने
def authenticate(username, password):
cursor = db.cursor()
password = md5.md5(password).hexdigest()
try:
query = "SELECT * FROM `users` WHERE `username` = %s AND `password` = %s"
cursor.execute(query, (username, password))
results = cursor.fetchall()
#print results[0][0]
#print "here i am"
if not results:
return False
else:
user_data = [results[0][0], results[0][1]]
return user_data
#self.authenticated = True
#self.user_id = results[0][0]
#session['username'] = results['username']
#print type(results)
except db.Error, e:
return 'There was a mysql error'
def register(username, password, email, *args):
cursor = db.cursor()
password = md5.md5(password).hexdigest()
try:
#query = "INSERT INTO `users` (`username`, `password`, `email`) VALUES ('%s', '%s', '%s')" % (username, password, email)
query = "INSERT INTO `users` (`username`, `password`, `email`) VALUES (%s, %s, %s)"
cursor.execute(query, (username, password, email))
db.commit()
return True
except db.Error, e:
print 'An error has been passed. %s' %e
db.rollback()
return False
प्रमाणीकृत/पंजीकरण के लिए एक और दो कार्य लिखे
मुझे नहीं पता कि यह Flask-Login
MySQL के साथ कैसे काम करें। साथ ही, मुझे नहीं पता कि उपयोगकर्ता लॉग-इन है या नहीं। मैं उपयोगकर्ता आईडी या उपयोगकर्ता नाम कैसे प्राप्त कर सकता हूं?
कोई भी मुझे कुछ पंक्तियों में समझा सकता है कि यह Flask-Login
कैसे काम करता है?
+1 यह बहुत उपयोगी था --- मैं आधिकारिक फ्लास्क-लॉगिन दस्तावेज को काफी समझ नहीं पाया था। – Raj
जो गलती आप लिंक करते हैं वह विशेष रूप से उपयोगी होती है यदि आप यह आवश्यक रूप से डेटाबेस बैकएंड सेट अप नहीं करना चाहते हैं तो https://gist.github.com/bkdinoop/6698956 – dino
@ बुरहान खालिद, उदाहरण समारोह में, डीफ़ लॉगिन(): ... login_user (उपयोगकर्ता)। उपयोगकर्ता कहां से आता है? – chfw