පරිශීලකයින්ට ගිණුම් සෑදීමට, ඇතුල් වීමට සහ පිටවීමට සලස්වන ආකාරය.
අපගේ Pizza යෙදුම භාවිතා කිරීමට පරිශීලකයින්ට තමන්ගේම ගිණුම් (accounts) සාදා ගැනීමට, එම ගිණුම් වලට ඇතුල් වීමට (login) සහ ඉන් පිටවීමට (logout) අවශ්ය ක්රියාකාරීත්වය ගොඩනැගීම. මෙමගින්, පීසා ඇණවුම් කිරීම වැනි විශේෂිත ක්රියාකාරකම් ලියාපදිංචි පරිශීලකයින්ට පමණක් සීමා කිරීමට අපට හැකිවේ.
වාසනාවකට මෙන්, පරිශීලක ගිණුම් කළමනාකරණය සඳහා අවශ්ය සියලුම දේ (මුරපද හැසිරවීම, sessions, අවසර දීම්) ඇතුළත්, ඉතාමත් ආරක්ෂාකාරී සහ සම්පූර්ණ පද්ධතියක් Django විසින්ම අපට සපයයි. අපට එය මුල සිට නිර්මාණය කිරීමට අවශ්ය නැත; කළ යුත්තේ එය අපගේ යෙදුමට සම්බන්ධ කර, අවශ්ය වෙබ් පිටු (templates) නිර්මාණය කිරීම පමණි.
සෑම ක්රියාවලියක් සඳහාම, අපට අංග 3ක් අවශ්ය වේ:
/signup/).පළමුව, නව පරිශීලකයින්ට ගිණුමක් සෑදීමට ඉඩ සලස්වමු.
orders/views.pyfrom django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth import login
def signup_view(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
user = form.save()
login(request, user) # ගිණුම සෑදූ සැනින් login කරවීම
return redirect('home') # Home පිටුවට යොමු කිරීම
else:
form = UserCreationForm()
return render(request, 'signup.html', {'form': form})
templates/signup.html<h2>Sign Up</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Sign Up</button>
</form>
{% csrf_token %} යනු ආරක්ෂාව සඳහා Django විසින් යොදන අනිවාර්ය tag එකකි.
pizzaproject/urls.pyfrom orders import views as orders_views
from django.urls import path
urlpatterns = [
# ...වෙනත් urls...
path('signup/', orders_views.signup_view, name='signup'),
]
Login ක්රියාවලිය මීටත් වඩා පහසුය, കാരണം Django විසින්ම LoginView නමින් සූදානම් view එකක් අපට ලබා දෙයි.
templates/login.html<h2>Log In</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Log In</button>
</form>
pizzaproject/urls.pyfrom django.contrib.auth import views as auth_views
urlpatterns = [
# ...වෙනත් urls...
path('login/', auth_views.LoginView.as_view(template_name='login.html'), name='login'),
]
pizzaproject/settings.pyසාර්ථකව login වූ පසු පරිශීලකයා යොමු කළ යුතු පිටුව කුමක්දැයි Django වෙත දැනුම් දීමට, settings.py ගොනුවේ පහළටම මෙම පේළිය එක් කරන්න.
LOGIN_REDIRECT_URL = '/' # සාර්ථක login එකකින් පසු home page එකට යොමු කරන්න
Logout ක්රියාවලිය සඳහා ඇත්තේ එක් පියවරක් පමණි. ඒ URL එක සැකසීමයි. Django හි LogoutView එකට template එකක් අවශ්ය නොවේ.
pizzaproject/urls.pyurlpatterns = [
# ...වෙනත් urls...
path('logout/', auth_views.LogoutView.as_view(), name='logout'),
]
pizzaproject/settings.pyLogout වූ පසු යොමු කළ යුතු පිටුව settings.py හි සඳහන් කළ හැක.
LOGOUT_REDIRECT_URL = '/login/' # Logout වූ පසු login පිටුවට යොමු කරන්න
මෙම පියවරයන් අවසානයේ, ඔබගේ යෙදුමට සම්පූර්ණ පරිශීලක ගිණුම් කළමනාකරණ පද්ධතියක් එක් වී අවසන්!
Next Lessonසන්!