Python somo la 47: Jinsi ya kupokea na kuchakata fomu

Python somo la 47: Jinsi ya kupokea na kuchakata fomu

Katika somo hili utakwend akujifunza jinsi ya kupokea na kuchakata fomu

? Lengo la Somo

Kufahamu jinsi ya:

✅ Kutengeneza fomu ya HTML katika template ya Django
✅ Kutuma taarifa kwa kutumia njia salama ya POST
✅ Kupokea taarifa hizo katika views.py
✅ Kuzionyesha kwenye template kama uthibitisho au ujumbe wa mafanikio


? 1. Kutengeneza Fomu ya HTML

Tunatengeneza template ya HTML iliyo na fomu ambayo itatuma data kwa njia ya POST.

? Faili: templates/menu/fomu.html

<!DOCTYPE html>
<html>
<head>
    <title>Fomu ya Mawasiliano</title>
</head>
<body>
    <h2>Wasiliana Nasi</h2>

    {% if error %}
        <p style="color:red;">{{ error }}</p>
    {% endif %}

    <form method="post">
        {% csrf_token %}
        <label for="jina">Jina:</label>
        <input type="text" name="jina" id="jina" required>
        <br><br>

        <label for="ujumbe">Ujumbe:</label>
        <textarea name="ujumbe" id="ujumbe" rows="5" required></textarea>
        <br><br>

        <input type="submit" value="Tuma">
    </form>
</body>
</html>

? Maelezo Muhimu:


⚙️ 2. Kuandaa View ya Kupokea Fomu

? Faili: views.py

from django.shortcuts import render

def fomu_view(request):
    if request.method == 'POST':
        jina = request.POST.get('jina')
        ujumbe = request.POST.get('ujumbe')

        if jina and ujumbe:
            context = {
                'jina': jina,
                'ujumbe': ujumbe,
            }
            return render(request, 'menu/taarifa.html', context)
        else:
            return render(request, 'menu/fomu.html', {'error': 'Tafadhali jaza mashamba yote.'})

    return render(request, 'menu/fomu.html')

? Maelezo ya View Hii:

Kipengele Kazi Yake
request.meth...
Ingia sasa ili uweze kusoma makala hii yote.

Zoezi la Maswali

help_outlineZoezi la Maswali

info Jaza maswali yote au baadhi kisha bofya kitufe cha kutuma majibu hapo chini.
1 Katika Django, tunatumia nini kupokea data kutoka kwa fomu?
2 Kipengele required kwenye <input> hufanya nini?
3 Kipi kati ya hivi hutumika kutuma data kurudi kwenye template?
4 Ni kipengele gani hutumika kulinda fomu dhidi ya mashambulizi ya CSRF?
5 Ni njia ipi ya HTTP hutumiwa kutuma data ya fomu kwa usalama zaidi?

Nyuma Endelea


Umeionaje Makala hii.. ?

       
Author: Rajabu Rajabu
Tarehe: 2025-05-25 08:10:10 Topic: Python Main: Masomo File: Download PDF Views: 795

Share On:

Share follows: 0 | Unique share links followed: 0
Sponsored links
👉1 Dua za Mitume na Manabii     👉2 kitabu cha Simulizi     👉3 Kitau cha Fiqh     👉4 Tafasiri ya Riyadh Swalihina     👉5 Madrasa kiganjani     👉6 Simulizi za Hadithi Audio    

Post zinazofanana:

Python somo la 22: Package kwenye Python

Hapa utakwenda kujifunz amaana ya package, aina zake na jinsi ya kuandika package.

Soma Zaidi...
Python somo la 33: Jinsi ya kupata taarifa za faili

Katika somo hili utakwend akujifunz anamna ya kuwez akupata taarifa zinazohusu faili

Soma Zaidi...
PYTHON - somo la 1: Jinsi ya ku install python

Katika somo hili utajifunza kuhusu maana ya python na kazi zake. pia jinsi ya kuandaa kifaa chako kwa ajili ya somo.

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 53: Kutengeneza HTML Form na Django View kwa ajili ya kuingiza data

Katika somo hili tutaangalia jinsi ya kutengeneza fomu ya HTML kwa ajili ya kuingiza data kwenye jedwali la MenuItem, pamoja na kutengeneza view itakayopokea data hiyo na kuihifadhi kwenye database. Pia tutaunganisha form na URL route.

Soma Zaidi...
Python somo la 59: Kufanya Mahesabu (Aggregations) Katika Django

Katika somo hili tutajifunza jinsi ya kutumia Django ORM kufanya mahesabu mbalimbali kama Sum, Avg, Count, Max, Min, pamoja na kupunguza idadi ya items zinazoonekana kwenye dashboard (LIMIT). Pia tutajifunza namna ya kutengeneza “difference” kati ya thamani kubwa na ndogo bila kubadilisha functions zozote ulizokwisha ziandika.

Soma Zaidi...