කේත නොලියා, දත්ත කළමනාකරණය කරන ආකාරය.
Django මගින් ස්වයංක්රීයව ජනනය කරන ලද පරිපාලක පැනලය (Admin Panel) භාවිතා කර, කිසිදු වෙබ් පිටුවක් නිර්මාණය නොකර, අපගේ දත්ත (පීසා වර්ග, ඇණවුම්) පහසුවෙන් කළමනාකරණය කරන ආකාරය ඉගෙන ගැනීම.
Django Admin Panel යනු ඔබගේ යෙදුමේ දත්ත කළමනාකරණය කිරීම සඳහා Django විසින් සූදානම් කර ඇති, නිෂ්පාදන මට්ටමේ (production-ready) වෙබ් අතුරු මුහුණතකි.
වෙනත් වචන වලින් කිවහොත්, දත්ත ඇතුලත් කිරීමට (Create), බැලීමට (Read), යාවත්කාලීන කිරීමට (Update), සහ මැකීමට (Delete) අවශ්ය වෙබ් පිටු අප විසින්ම නිර්මාණය කිරීම වෙනුවට, Django අපට මේ සියල්ල සඳහා සූදානම් පද්ධතියක් ලබා දෙයි. මෙය අපගේ සංවර්ධන කාලය (development time) විශාල ලෙස ඉතිරි කරයි.
Admin Panel එකට ඇතුල් වීමට (log in) නම්, අපට පරිපාලක බලතල සහිත පරිශීලක ගිණුමක් (user account) අවශ්ය වේ. Django හි මෙය Superuser ලෙස හැඳින්වේ.
ඔබගේ project එකේ terminal එක විවෘත කර, පහත විධානය (command) ක්රියාත්මක කරන්න.
python manage.py createsuperuser
ඉන්පසු, Django ඔබෙන් පහත දේ අසනු ඇත:
admin)මෙම පියවර සාර්ථකව අවසන් වූ පසු, ඔබගේ Superuser ගිණුම නිර්මාණය වනු ඇත.
අපි models.py ගොනුවේ Pizza සහ Order යන models නිර්මාණය කළද, ඒවා තවමත් Admin Panel එකේ දර්ශනය නොවේ. ඒවා එහි පෙන්වීම සඳහා අප විසින් Django වෙත දැනුම් දිය යුතුය.
orders/admin.py ගොනුව විවෘත කර, පහත කේතය ඇතුලත් කරන්න.
from django.contrib import admin
from .models import Pizza, Order # අපගේ models import කරගැනීම
# ඔබගේ models මෙහි register කරන්න.
admin.site.register(Pizza)
admin.site.register(Order)
මෙම සරල කේත පේළි දෙක මගින් Django වෙත දන්වන්නේ Pizza සහ Order යන models දෙක Admin Panel එක හරහා කළමනාකරණය කිරීමට අවශ්ය බවයි.
දැන් සියල්ල සූදානම්! Admin Panel එක ක්රියාත්මක කර අපගේ පීසා වර්ග දෙක ඇතුලත් කරමු.
python manage.py runserver
Chicken Bacon, Price: 2500.00Sausage Delight, Price: 2300.00Default Admin Panel එක ඉතා ප්රයෝජනවත් වුවත්, අපට එය තවදුරටත් වැඩි දියුණු කළ හැක. උදාහරණයක් ලෙස, Order ලැයිස්තුව පෙන්වන විට, එහි වැදගත් තොරතුරු කිහිපයක් පෙන්වීමට සහ පහසුවෙන් සෙවීමට (search) සලස්වමු.
orders/admin.py ගොනුව පහත පරිදි යාවත්කාලීන කරන්න.
from django.contrib import admin
from .models import Pizza, Order
class OrderAdmin(admin.ModelAdmin):
list_display = ('id', 'user', 'pizza', 'status', 'created_at')
list_filter = ('status', 'created_at')
search_fields = ('user__username', 'pizza__name')
admin.site.register(Pizza)
admin.site.register(Order, OrderAdmin) # Order register කිරීමේදී OrderAdmin class එක ලබාදීම
list_display: Order ලැයිස්තුවේ පෙන්විය යුතු තීරු (columns) මොනවාදැයි නියම කරයි.list_filter: ඇණවුම් status එක හෝ created_at දිනය අනුව filter කිරීමට දකුණු පසින් sidebar එකක් එක් කරයි.search_fields: පරිශීලක නාමය (user__username) හෝ පීසා නාමය (pizza__name) අනුව ඇණවුම් සෙවීමට search bar එකක් එක් කරයි.Order පිටුව වඩාත් තොරතුරු සහිතව සහ භාවිතා කිරීමට පහසුවෙන් දිස්වනු ඇ
ත.Next Lessonසන්!