Django

Sådan bruges modellen i Django?

Sådan bruges modellen i Django?
Modellen bruges i Django-applikationen til at oprette en webapplikation med en database. Det er en indbygget funktion i Django til at oprette relationsdatabasetabeller ved at definere tabelstrukturen til Django-projektet. Hver attribut i modellen angiver typen af ​​det særlige felt i tabellen. En modelklasse skal definere hver tabel i databasen. Generelt er navnet på modelklassen defineret i entalform, og Django opretter et tabelnavn i flertalsform baseret på modelklassens navn. Eventuelle ændringer af tabellen designet af modellen, såsom at oprette eller opdatere eller slette, kan udføres meget let ved hjælp af Django-adminpanelet. De samme opgaver kan også udføres fra python-kommandolinjen. Oprettelse af Django-modeller, der opretter to relationelle tabeller, og hvordan man kan få adgang til dem ved hjælp af Django Administration-instrumentbrættet, vises i denne vejledning.

Forudsætninger

Inden du praktiserer eksemplerne på denne vejledning, skal du udføre følgende opgaver.

  1. Installer Django version 3+ på Ubuntu 20+ (helst)
  2. Opret et Django-projekt
  3. Kør Django-serveren for at kontrollere, at serveren fungerer korrekt eller ej.

Konfigurer en Django-app:

Kør følgende kommando for at oprette en Django-app med navnet model app.

$ python3 administrere.py startapp modelapp

Kør følgende kommando for at oprette brugeren til adgang til Django-databasen. Hvis du har oprettet brugeren før, behøver du ikke køre kommandoen.

$ python3 administrere.py skaberbruger

Tilføj appnavnet i INSTALLERET_APP en del af py fil.

INSTALLED_APPS = [
..
'model app
]

Opret en mappe med navnet skabeloner inde i model app mappe og indstil skabeloner placering af appen i MALLER en del af py fil.

MALLER = [

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

Opret en model til databasetabellen:

Åbn modeller.py fil fra model app mappen og tilføj følgende script for at definere strukturen i to relationelle tabeller. Lærer klasse er defineret til at oprette en tabel med navnet lærere med navn, afdeling, e-mail, og telefon felter. Rute klasse er defineret til at oprette en tabel med navnet kurser med kode, navn, kredit, og lærer felter. Her, den lærer felt af Kurser er den udenlandske nøgle, der vises fra Lærere bord.

modeller.py

# Importmodulmodul
fra django.db import modeller
# Opret klasse for at definere strukturen i tabellen Lærere
klasse Lærer (modeller.Model):
navn = modeller.CharField (max_length = 50)
afdeling = modeller.CharField (max_length = 20)
e-mail = modeller.EmailField (max_length = 100)
telefon = modeller.CharField (max_length = 50)
# Opret klasse for at definere strukturen i Kursetabellen
klasse Kursus (modeller.Model):
kode = modeller.CharField (max_length = 10)
navn = modeller.CharField (max_length = 50)
kredit = modeller.FloatField ()
lærer = modeller.ForeignKey (lærer, on_delete = modeller.CASCADE)

Kør makemigrationer kommando til at oprette en ny migration baseret på ændringer foretaget af modellerne.

$ python3 administrere.py makemigrations model app

Kør migrere kommando til at udføre SQL-kommandoer og oprette alle tabeller i databasen defineret i modeller.py fil.

$ python3 administrere.py migrere

Rediger indholdet af admin.py fil med følgende indhold. Her, Lærer og Rute klasser af modellerne registreres ved hjælp af Tilmeld() metode til at vise Lærere og Kurser tabeller i Django-administrationens dashboard.

admin.py

# Importér admin-modul
fra django.import importadministrator
# Importer modellerne
fra .modeller importerer lærer
fra .modeller importerer kursus
# Registrer modellerne
admin.websted.register (Lærer)
admin.websted.tilmeld (Kursus)

Indstil URL til admin login:

Stien til admin-login er defineret i webadresser.py fil til enhver Django-app som standard. Hvis stien ikke er defineret i filen, skal du ændre webadresser.py fil med følgende script for at åbne det indbyggede Django Administration Dashboard for stien ' admin /''.

webadresser.py

# Importér admin-modul
fra django.import importadministrator
# Importer sti-modul
fra django.webadresser til import af sti
# Definer stien til admin
urlmønstre = [
sti ('admin /', admin.websted.webadresser),
]

Indsæt poster i tabellerne:

Kør følgende URL fra browseren for at åbne Django Administration Dashboard.

http: // localhost: 8000 / admin

Følgende tabeller vises for modelappen. Enhver registrering af tabellerne kan læses, indsættes, opdateres og slettes fra denne side.

Klik på tabellen Lærere for at indsætte nogle poster i tabellen. En formular med de nødvendige felter som følgende billede vises til indsættelse af post. Der er tre knapper i formularen til indsættelse af poster i tabellen. ''Gem og tilføj en anden'-knappen bruges til at indsætte posten og åbne formularen igen for at indsætte den næste post. Det 'Gem og fortsæt redigering'-knappen bruges til at indsætte posten og åbne formularen igen med dataene til redigering. Det 'Gemme'-knappen bruges kun til at indsætte posten. Hver tilmeldingsformular indeholder disse tre knapper.

Efter indsættelse af de to læreroptegnelser vises følgende oplysninger i browseren.

Følgende formular vises efter at have klikket på kurstabellen. Læreren felt i Kurser tabellen er relateret til Lærere tabel ved den udenlandske nøgle. Rullelisten med indsatte lærerobjekter vises for at tilføje dataene i dette felt fra listen.

Efter at have indsat tre poster i Kursetabellen, vises følgende oplysninger i browseren. Hvis du vil ændre optegnelser over kurserne eller tabellen lærere, skal du klikke på det pågældende objekt for at åbne redigeringsformularen med de eksisterende data.

Du kan vise posterne for begge tabeller i browseren ved hjælp af udsigten.py fil og oprette templerne på den definerede skabelonplacering.  Du kan tjekke vejledningerne til Django View og Django Template for disse.

Konklusion

Tabeldataene kan tilgås eller ændres af Django Administration Dashboard, som forklaret i denne vejledning. Men dataene kan indsættes i tabellerne ved at skrive et script i synspunkter.py fil med eller uden brug af skabelonfilen.

Nyttige værktøjer til Linux-spillere
Hvis du kan lide at spille spil på Linux, er chancerne for, at du måske har brugt apps og hjælpeprogrammer som Wine, Lutris og OBS Studio for at forbe...
HD Remastered-spil til Linux, der aldrig tidligere havde haft en Linux-udgivelse
Mange spiludviklere og udgivere kommer med HD-remaster af gamle spil for at forlænge franchisens levetid. Venligst fans, der anmoder om kompatibilitet...
Sådan bruges AutoKey til at automatisere Linux-spil
AutoKey er et desktopautomatiseringsværktøj til Linux og X11, programmeret i Python 3, GTK og Qt. Ved hjælp af dets scripting og MACRO-funktionalitet ...