Python seomo la 55: Kutengeneza Simple Admin Dashboard ya CRUD

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:

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...
Ingia sasa ili uweze kusoma makala hii yote.

Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

       
Author: Rajabu Rajabu
Tarehe: 2025-11-23 20:05:30 Topic: Python Main: Masomo File: Download PDF Views: 720

Share On:

Share follows: 0 | Unique share links followed: 0
Sponsored links
👉1 kitabu cha Simulizi     👉2 ai web app     👉3 Madrasa kiganjani     👉4 web hosting     👉5 Tafasiri ya Riyadh Swalihina     👉6 Kitabu cha Afya    

Post zinazofanana:

Python somo la 54: Jinsi ya Kusoma Data Kutoka Database kwenye Django

Katika somo hili tutajifunza namna ya kusoma data kutoka kwenye database kupitia Django ORM, jinsi ya kuzipeleka kwenye view, na jinsi ya kuzionyesha kwenye HTML template.

Soma Zaidi...
Python somo la 38: Kubadilisha landing page ya Django Framework

Katika somo hili utakwenda kujifunza jinsi ya kubadili ukurasa wa landing page wa Django na kuweka ukurasa tunaoutaka sisi.

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 34: Kutumia html kwneye python

Katika somo hili utakwend akujifunz ajinsi ya kutumia html kwneye python

Soma Zaidi...
Python somo la 49: Jinsi ya ku host project ya Django

Katika somo hili utakwenda kujifunza jinsi ya ku host website ya Django. Hapa tutakwenda kutuma plaform ya pythonanywhere.com.

Soma Zaidi...
Python somo la 40: Jinsi ya Kuunda Simple Navigation Menu Katika Django

Katika somo hili utajifunza Jinsi ya Kuunda Simple Navigation Menu Katika Django kwa kutumia template

Soma Zaidi...