Django

Hur man använder modellen i Django?

Hur man använder modellen i Django?
Modellen används i Django-applikationen för att skapa en webbapplikation med en databas. Det är en inbyggd funktion i Django för att skapa relationsdatabastabeller genom att definiera tabellstrukturen för Django-projektet. Varje attribut i modellen anger typen av det specifika fältet i tabellen. En modellklass kräver att varje tabell i databasen definieras. I allmänhet definieras namnet på modellklassen i singularform och Django kommer att skapa ett tabellnamn i pluralform baserat på modellklassnamnet. Alla modifieringar av tabellen som designats av modellen, till exempel skapa eller uppdatera eller ta bort, kan göras mycket enkelt med Django adminpanelen. Samma uppgifter kan också göras från python-kommandoraden. Skapa Django-modeller som skapar två relationstabeller och hur de kan nås med Django Administration-instrumentpanelen visas i denna handledning.

Förutsättningar

Innan du övar på exemplen i denna handledning måste du slutföra följande uppgifter.

  1. Installera Django version 3+ på Ubuntu 20+ (helst)
  2. Skapa ett Django-projekt
  3. Kör Django-servern för att kontrollera att servern fungerar korrekt eller inte.

Ställ in en Django-app:

Kör följande kommando för att skapa en Django-app med namnet modellapp.

$ python3 hantera.py startapp modellapp

Kör följande kommando för att skapa användaren för åtkomst till Django-databasen. Om du har skapat användaren tidigare behöver du inte köra kommandot.

$ python3 hantera.py skaparanvändare

Lägg till appnamnet i INSTALLERAD_APP del av py fil.

INSTALLED_APPS = [
..
modellmodell
]

Skapa en mapp med namnet mallar inuti modellapp mapp och ställ in mallar plats för appen i MALLAR del av py fil.

MALLAR = [

.. .
'DIRS': ['/ home / fahmida / django_pro / modelapp / templates'],
.. .
,
]

Skapa en modell för databastabellen:

Öppna modeller.py fil från modellapp mappen och lägg till följande skript för att definiera strukturen för två relationstabeller. Lärare klass definieras för att skapa en tabell med namnet lärare med namn, avdelning, e-post, och telefon fält. Kurs klass definieras för att skapa en tabell med namnet kurser med kod, namn, kredit, och lärare fält. Här, den lärare fält av Kurser tabellen är den främmande nyckeln som kommer att visas från Lärare tabell.

modeller.py

# Importera modeller-modulen
från django.db-importmodeller
# Skapa klass för att definiera strukturen för lärartabellen
klasslärare (modeller.Modell):
namn = modeller.CharField (max_length = 50)
avdelning = modeller.CharField (max_length = 20)
e-post = modeller.EmailField (max_length = 100)
telefon = modeller.CharField (max_length = 50)
# Skapa klass för att definiera strukturen för kurstabellen
klasskurs (modeller.Modell):
kod = modeller.CharField (max_length = 10)
namn = modeller.CharField (max_length = 50)
kredit = modeller.FloatField ()
lärare = modeller.ForeignKey (lärare, on_delete = modeller.KASKAD)

Springa det makemigrationer kommando för att skapa en ny migration baserat på de ändringar som gjorts av modellerna.

$ python3 hantera.py makemigrations model app

Springa det flytta kommando för att utföra SQL-kommandon och skapa alla tabeller i databasen definierad i modeller.py fil.

$ python3 hantera.py migrera

Ändra innehållet i administration.py fil med följande innehåll. Här, Lärare och Kurs klasserna av modellerna registreras med hjälp av Registrera() metod för att visa Lärare och Kurser i Django-administrationspanelen.

administration.py

# Importera administratörsmodul
från django.bidrag importadministratör
# Importera modellerna
från .modeller importerar lärare
från .modeller importerar kurs
# Registrera modellerna
administration.webbplats.registrera (lärare)
administration.webbplats.registrera (kurs)

Ange URL för administratörsinloggning:

Sökvägen för admininloggning definieras i webbadresser.py fil för alla Django-appar som standard. Om sökvägen inte är definierad i filen kan du ändra webbadresser.py fil med följande skript för att öppna den inbyggda Django Administration Dashboard för sökvägen ' administration/''.

webbadresser.py

# Importera administratörsmodul
från django.bidrag importadministratör
# Importera sökvägsmodul
från django.webbadress för webbadresser
# Definiera sökvägen för admin
urlmönster = [
sökväg ('admin /', admin.webbplats.webbadresser),
]

Infoga poster i tabellerna:

Kör följande URL från webbläsaren för att öppna Django Administration Dashboard.

http: // localhost: 8000 / admin

Följande tabeller visas för modellappen. Alla register över tabellerna kan läsas, infogas, uppdateras och raderas från den här sidan.

Klicka på lärartabellen för att infoga några poster i tabellen. Ett formulär med nödvändiga fält som följande bild visas för att infoga post. Det finns tre knappar i formuläret för att infoga poster i tabellen. ''Spara och lägg till ytterligare en'-knappen används för att infoga posten och öppna formuläret igen för att infoga nästa post. 'Spara och fortsätt redigera'-knappen används för att infoga posten och öppna formuläret igen med data för redigering. 'Spara'-knappen används endast för att infoga posten. Varje anmälningsformulär innehåller dessa tre knappar.

När du har infogat de två lärarjournalerna kommer följande information att visas i webbläsaren.

Följande formulär visas efter att ha klickat på kurstabellen. Läraren fält av Kurser tabellen är relaterad till Lärare tabellen av den främmande nyckeln. Listrutan med infogade lärarobjekt visas för att lägga till data i detta fält från listan.

När du har infogat tre poster i kurstabellen visas följande information i webbläsaren. Om du vill ändra några poster för kurserna eller tabellen lärare, klicka sedan på det specifika objektet för att öppna redigeringsformuläret med befintlig data.

Du kan visa posterna för båda tabellerna i webbläsaren med hjälp av utsikterna.py fil och skapa templen på den definierade mallplatsen.  Du kan kontrollera Django View och Django Template-tutorials för dessa.

Slutsats

Tabelldata kan nås eller modifieras av Django Administration Dashboard, som förklaras i denna handledning. Men data kan infogas i tabellerna genom att skriva ett skript i utsikt.py med eller utan att använda mallfilen.

Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...
Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...
Portar med öppen källkod för kommersiella spelmotorer
Gratis, öppen källkod och plattformsmekaniska rekreationer kan användas för att spela gamla såväl som några av de ganska senaste speltitlarna. I den h...