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 Simulizi za Hadithi Audio 👉2 kitabu cha Simulizi 👉3 Tafasiri ya Riyadh Swalihina 👉4 Kitabu cha Afya 👉5 Bongolite - Game zone - Play free game 👉6 Dua za Mitume na Manabii
Post zinazofanana:
PYTHON - somo la 6: Jinsi ya kujuwa aina ya data iliyotumika
Katika somo hili utajifunza jisni ya kujuwa aina ya data iliyotumika kwenye python
Soma Zaidi...PYTHON - somo la 10: string method na zinavyofanya kazi
Katika somo hili utakwenda kujfnza kuhusu string method nyinginezo. Katika somo lililopita tulijifunza kuhusu string indexing.
Soma Zaidi...Python somo la 47: Jinsi ya kupokea na kuchakata fomu
Katika somo hili utakwend akujifunza jinsi ya kupokea na kuchakata fomu
Soma Zaidi...Python somo la 52: Kutengeneza table na kufanya Migrations Katika Django
Katika somo hili tutajifunza jinsi Django hutumia migrations kuunda na kubadilisha tables kwenye database kulingana na models tunazoandika. Tutapitia maana ya migration, hatua za kuitumia, umuhimu wake, misingi ya makemigrations na migrate, pamoja na mfano halisi kutoka kwenye project yetu ya pybongo (app: menu).
Soma Zaidi...PYHON - somo la 5: Aina za data list, turple, dictionary na boolean
Katika somo hili tunakwenda kujifunza aina nyingine za data ambazo hutumika kwenye python.
Soma Zaidi...Python somo la 31: Jinsi ya kutengeneza faili na folder
Katika somo hili utajifunz ajinsi ya kutengeneza folda, faili na kuweka data kwneye faili
Soma Zaidi...