Forutsetninger
Før du praktiserer eksemplene på denne veiledningen, må du fullføre følgende oppgaver.
- Installer Django versjon 3+ på Ubuntu 20+ (helst)
- Lag et Django-prosjekt
- Kjør Django-serveren for å kontrollere at serveren fungerer som den skal eller ikke.
Konfigurer en Django-app:
Kjør følgende kommando for å opprette en Django-app med navnet modell-app.
$ python3 administrere.py startapp modellappKjør følgende kommando for å opprette brukeren for tilgang til Django-databasen. Hvis du har opprettet brukeren før, trenger du ikke å kjøre kommandoen.
$ python3 administrere.py skaperbrukerLegg til appnavnet i INSTALLERT_APP del av py fil.
INSTALLED_APPS = [..
'modell-app
]
Opprett en mappe med navnet maler inne i modell-app mappen og still inn malens plasseringen av appen i MALER del av py fil.
MALER = [.. .
'DIRS': ['/ home / fahmida / django_pro / modelapp / templates'],
.. .
,
]
Lag en modell for databasetabellen:
Åpne modeller.py fil fra modell-app mappen og legg til følgende skript for å definere strukturen til to relasjonstabeller. Lærer klasse er definert for å lage en tabell som heter lærere med navn, avdeling, e-post, og telefonen Enger. Kurs klasse er definert for å lage en tabell som heter kurs med kode, navn, kreditt, og lærer Enger. Her, den lærer innen Kurs tabellen er den fremmede nøkkelen som vises fra Lærere bord.
modeller.py
# Importer modeller-modulenfra django.db import modeller
# Lag klasse for å definere strukturen til lærertabellen
klasse Lærer (modeller.Modell):
navn = modeller.CharField (max_length = 50)
avdeling = modeller.CharField (max_length = 20)
e-post = modeller.EmailField (max_length = 100)
telefon = modeller.CharField (max_length = 50)
# Lag klasse for å definere strukturen til kurstabellen
klasse Kurs (modeller.Modell):
kode = modeller.CharField (max_length = 10)
navn = modeller.CharField (max_length = 50)
kreditt = modeller.FloatField ()
lærer = modeller.ForeignKey (lærer, on_delete = modeller.CASCADE)
Kjør makemigrasjoner kommando for å opprette en ny migrering basert på endringene som er gjort av modellene.
$ python3 administrere.py makemigrations modell appKjør migrere kommandoen for å utføre SQL-kommandoene og opprette alle tabeller i databasen definert i modeller.py fil.
$ python3 administrere.py migrereEndre innholdet i admin.py fil med følgende innhold. Her, Lærer og Kurs klassene av modellene registreres ved hjelp av registrere() metode for å vise Lærere og Kurs tabeller i Django-administrasjons dashbordet.
admin.py
# Importer administrasjonsmodulfra django.bidrag importadministrator
# Importer modellene
fra .modeller importerer lærer
fra .modeller importerer Course
# Registrer modellene
admin.nettstedet.registrer (lærer)
admin.nettstedet.registrer deg (Kurs)
Angi URL for administratorinnlogging:
Banen for administratorinnlogging er definert i nettadresser.py fil for hvilken som helst Django-app som standard. Hvis banen ikke er definert i filen, endrer du nettadresser.py fil med følgende skript for å åpne det innebygde Django Administration Dashboard for banen ' admin /'.
nettadresser.py
# Importer administrasjonsmodulfra django.bidrag importadministrator
# Importer banemodul
fra django.URL-adresse for import
# Definer banen for admin
urlpatterns = [
sti ('admin /', admin.nettstedet.nettadresser),
]
Sett inn poster i tabellene:
Kjør følgende URL fra nettleseren for å åpne Django Administration Dashboard.
http: // localhost: 8000 / admin
Følgende tabeller vises for modellappen. Enhver oversikt over tabellene kan leses, settes inn, oppdateres og slettes fra denne siden.
Klikk på lærertabellen for å sette inn noen poster i tabellen. Et skjema med de nødvendige feltene som følgende bilde vises for å sette inn posten. Det er tre knapper i skjemaet for å sette inn poster i tabellen. 'Lagre og legg til en annen'-knappen brukes til å sette inn posten og åpne skjemaet igjen for å sette inn neste post. The 'Lagre og fortsett redigering'-knappen brukes til å sette inn posten og åpne skjemaet igjen med dataene for redigering. The 'Lagre'-knappen brukes kun til å sette inn posten. Hvert inngangsskjema vil inneholde disse tre knappene.
Etter å ha satt inn de to lærerjournalene, vises følgende informasjon i nettleseren.
Følgende skjema vises etter å ha klikket på kurstabellen. Læreren felt av Kurs tabellen er relatert til Lærere tabellen ved den utenlandske nøkkelen. Rullelisten med innsatte lærerobjekter vises for å legge til dataene i dette feltet fra listen.
Etter å ha satt inn tre poster i kurstabellen, vil følgende informasjon vises i nettleseren. Hvis du vil endre noen poster fra kurset eller lærerne, klikker du på det aktuelle objektet for å åpne redigeringsskjemaet med eksisterende data.
Du kan vise postene til begge tabellene i nettleseren ved å bruke utsikten.py fil og opprette templene på den definerte malplasseringen. Du kan sjekke veiledningene for Django View og Django Template for disse.
Konklusjon
Tabelldataene kan nås eller endres av Django Administration Dashboard, som forklart i denne veiledningen. Men dataene kan settes inn i tabellene ved å skrive et skript i utsikt.py filen med eller uten å bruke malfilen.