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.
Leo tutaendelea na mchakato wa kuingiza data kwenye jedwali la MenuItem kwa kutengeneza HTML form pamoja na view ya kushughulikia data kutoka kwenye fomu hiyo.
Badala ya kuandika HTML form manually, Django hutupatia “Form class” ambayo ni salama, rahisi, na ina-validations.
➡️ Unda faili forms.py ndani ya app yako:
forms.py
from django import forms
from .models import MenuItem
class MenuItemForm(forms.ModelForm):
class Meta:
model = MenuItem
fields = ['jina', 'maelezo', 'muda_upatikanaji', 'bei']
Hii Form class ndiyo itatusaidia kutengeneza HTML form moja kwa moja.
Unda view ambayo itaonyesha form na pia kupokea data kutoka kwa user.
views.py
from django.shortcuts import render, redirect
from .forms import MenuItemForm
def ongeza_menu_item(request):
if request.method == 'POST':
form = MenuItemForm(request.POST)
if form.is_valid():
form.save()
return redirect('menu_success')
else:
form = MenuItemForm()
return render(request, 'ongeza_menu.html', {'form': form})
Maelezo muhimu:
GET → onyesha form
POST → ipokee, ithibitishe, ihifadhi kwa database
form.save() → huingiza data moja kwa moja
Fungua urls.py ya app yako:
from django.urls import path
from . import views
urlpatterns = [
path('ongeza/', views.ongeza_menu_item, name='ongeza_menu'),
path('success/', views.menu_success, name='menu_success'),
]
Kisha tengeneza success view:
def menu_success(request):
return render(request, 'success.html')
Unda faili ongeza_menu.html ndani ya folder templates/:
<!DOCTYPE html>
<html>
<head>
<title>Ongeza Menu Item</title>
</head>
<body>
<h2>Ongeza Bidhaa Mpya</h2>
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Hifadhi</button>
</form>
</body>
</html>
{{ form.as_p }} ina-generate HTML form full kwa kutumia Django Form class tuliyotenge">...
Jiunge nasi WhatsApp kupata update zetu
Umeionaje Makala hii.. ?
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...Katika somo hili utakwenda kujifunza kuhusu number method yaani function zinazofanya kazi kwenye namba.
Soma Zaidi...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...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...Katika somo hili utajifunza maana ya variable, na sheria za kutengeneza variable kwenye python. Pia utajifunza maneno ambayo hayafai kutumiwa kama variable
Soma Zaidi...Katika somo hili tutajifunza mambo matatu muhimu ya kuboresha admin ya Django: Jinsi ya kubadili header za Django Admin Jinsi ya kuongeza columns zinazojitokeza kwenye admin list Jinsi ya kuweka limit ya rows zinazoonekana kwa kila ukurasa (pagination)
Soma Zaidi...Katika somo hili utakwend akujifunz ajinsi ya kutumia html kwneye python
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kubadili ukurasa wa landing page wa Django na kuweka ukurasa tunaoutaka sisi.
Soma Zaidi...Katika somo hili tutakwend akujifunza jinsi ya kutumia while loop kwneye python
Soma Zaidi...