Python seomo la 55: Kutengeneza Simple Admin Dashboard ya CRUD
Katika somo hili tutajifunza jinsi ya kuunda dashboard rahisi ndani ya Django ambayo itaruhusu mtumiaji kuongeza, kusoma, kuhariri na kufuta taarifa za MenuItem bila kutumia Django built-in admin, bali kwa kutumia HTML templates na views tulizotengeneza sisi wenyewe.
Utangulizi wa somo…
Dashboard hutoa njia rahisi ya kusimamia data. Badala ya kutumia Django admin, leo tutajenga dashboard yetu wenyewe inayomruhusu admin kuongeza, kuhariri na kufuta taarifa za chakula.
Sasa tuingie kwenye somo letu…
1. Kusudi la Admin Dashboard
Dashboard tunayotengeneza itakuwa sehemu ambayo mtumiaji (mfanyakazi au admin wa hoteli) ataweza:
-
Kuona orodha ya vyakula (Read)
-
Kuongeza chakula kipya (Create)
-
Kuhariri kilichopo (Update)
-
Kufuta kilichopo (Delete)
Hii ndiyo CRUD (Create, Read, Update, Delete).
2. Kutengeneza View ya Dashboard (List of Items)
Katika views.py tengeneza view ya kuonyesha dashboard:
from django.shortcuts import render, get_object_or_404, redirect
from .models import MenuItem
def dashboard(request):
items = MenuItem.objects.all()
return render(request, 'dashboard.html', {'items': items})
3. Kutengeneza Template ya Dashboard
Faili: dashboard.html
<!DOCTYPE html>
<html>
<head>
<title>Dashboard ya Menu</title>
</head>
<body>
<h2>Dashboard – Orodha ya Vyakula</h2>
<a href="{% url 'add_item' %}">Ongeza Kitu Kipya</a>
<table border="1" cellpadding="6">
<tr>
<th>Jina</th>
<th>Muda Upatikanaji</th>
<th>Bei (TZS)</th>
<th>Hatua</th>
</tr>
{% for item in items %}
<tr>
<td>{{ item.jina }}</td>
<td>{{ item.muda_upatikanaji }}</td>
<td>{{ item.bei }}</td>
<td>
<a href="{% url 'edit_item' item.id %}">Edit</a> |
<a href="{% url 'delete_item' item.id %}">Delete</a>
</td>
</tr>
{% endfor %}
</table>
</body>
</html>
4. Kutengeneza View ya Kuongeza Data (Create)
def add_item(request):
if request.method == 'POST':
jina = request.POST.get('jina')
maelezo = request.POST.get('maelezo')
muda = request.POST.get('muda_upatikanaji')
bei = request.POST.get('bei')
MenuItem.objects.create(
jina=jina,
maelezo=maelezo,
muda_upatikanaji=muda,
bei=bei
)
return redirect('dashboard')
return render(request, 'add_item.html')
Template — add_item.html
<h2>Ongeza Kitu Kipya</h2>
<form method="POST">
{% csrf...Umeionaje Makala hii.. ?
Share On:
π1 Sira ya Mtume Muhammad (s.a.w) π2 Simulizi za Hadithi Audio π3 ai web app π4 Dua za Mitume na Manabii π5 web hosting π6 Kitau cha Fiqh
Post zinazofanana:
Python somo la 35: Jinsi ya kutumia MYSQL kwenye python
Katika somo hili utajifunz akutumia database kwenye python
Soma Zaidi...Python somo la 36: Django framework - Utangulizi
Ni nini maana ya django framework na inafanya kazi gani
Soma Zaidi...PYTHON somo la 12: assignment operator, logical operator, identity oeprator na membership operator
Katika somo hili utakwenda kujfunza operator nyingine kama assignment operator logical, identity operator na membership operator.
Soma Zaidi...Python somo la 18: Jinsi ya kuandika function
Katika somo hili utakwend akujifunza jinsi ya kuandika function, kuweka parameter na kuitumia function
Soma Zaidi...Python somo la 39: Jinsi ya Kuongeza Kurasa Nyingine Katika Django View
Katika somo hili utakwenda kujifunza zaidi kuhusu Jinsi ya Kuongeza Kurasa Nyingine Katika Django View
Soma Zaidi...Python somo la 60: Hashing na Encryption kwenye Django
Katika somo hili tutajifunza: Tofauti kati ya hashing na encryption Jinsi ya kufunga packages muhimu Jinsi ya kufanya hashing kwa maneno ya kawaida (mfano βbongoclassβ) Jinsi ya kufanya encryption na decrypt kutumia Fernet Jinsi Django inahash password kupitia User model Mazoezi ya vitendo
Soma Zaidi...