আজকে আমরা জানবো কিভাবে একজন ইউজার কে লগইন করাতে পারি। সেটার জন্যে আমরা জ্যাঙ্গো এর বিল্ট ইন Authentication ফরম ইউজ করবো। এই ফরম এ দুইটা ফিল্ড থাকে username আর password। লগইন বলতে আমরা বুঝাচ্ছি যে একজন ইউজার এর আমাদের ওয়েবসাইট এ একাউন্ট আছে, তার থেকে আমরা username password নিয়ে চেক করে দেখবো আসলেই একাউন্ট আছে কিনা, যদি থাকে তাইলে তাকে লগইন করাবো login ফাংশন দিয়ে এবং নির্দিষ্ট কিছু পেজ এ অ্যাকসেস দিবো আর নাইলে বলবো invalid password, username ।
def user_login(request):
if request.method == 'POST':
form = AuthenticationForm(request=request, data=request.POST)
if form.is_valid():
name = form.cleaned_data['username']
userpass = form.cleaned_data['password']
# check kortechi user database e ache kina
user = authenticate(username=name, password=userpass)
if user is not None:
login(request, user)
return redirect('profile') # profile page e redirect korbe
else:
form = AuthenticationForm()
return render(request, './login.html', {'form': form})
এখন আমরা আমাদের navbar এ কিছু ইন্টারেস্টিং কাজ করবো। যদি কোনো ইউজার লগইন করে তাইলে তাকে আমরা navbar এ profile আর logout বাটন দেখাবো আর যদি loggedin ইউজার না হয় তাইলে তাকে signup, login বাটন দেখাবো। Html এ is_authenticated ফাংশন দিয়ে আমরা চেক করতে পারি যে ওই ইউজার লগইন করা অবস্থায় আছে কিনা।