picha

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.

Jiunge nasi WhatsApp kupata update zetu
Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

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

Share On:

Share follows: 0 | Unique share links followed: 0
Sponsored links
👉1 ai web app     👉2 kitabu cha Simulizi     👉3 Tafasiri ya Riyadh Swalihina     👉4 Bongolite - Game zone - Play free game     👉5 Kitabu cha Afya     👉6 Sira ya Mtume Muhammad (s.a.w)    

Post zinazofanana:

Python somo la 27: polymorphism kwneye python

Katika somo hili utajifunza maana ya polymorphism na sheria za uandishi wake

Soma Zaidi...
Python somo la 23: Library kwenye python

Hapa utajifunza maana ya library, kazi zake aina zake na jinsi ya ku install lirary

Soma Zaidi...
Python somo la 48: Jinsi ya Kutumia JavaScript kwenye Fomu za Django

Katika somo hili tutakwend akujifunza kuhusi Jinsi ya Kutumia JavaScript kwenye Fomu za Django

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 28: inheritance kwenye OOP

Katika somo hili utakwenda kujifunz amaana ya inheritance na sheria za kuiandika inheritance.

Soma Zaidi...
PYTHON somo la 11: Matumizi ya comperison eperator katika python

Katika somo hili utakwenda kujifunza kuhusu operator. Hasa hapa tutakwend akujifunz akuhusu comparison operaor.

Soma Zaidi...