Vereisten
Voordat u de voorbeelden van deze tutorial oefent, moet u de volgende taken uitvoeren:.
- Installeer de Django versie 3+ op Ubuntu 20+ (bij voorkeur)
- Een Django-project maken
- Voer de Django-server uit om te controleren of de server goed werkt of niet.
Een Django-app instellen:
Voer de volgende opdracht uit om een Django-app met de naam te maken model-app.
$ python3 beheren.py startapp modelappVoer de volgende opdracht uit om de gebruiker te maken voor toegang tot de Django-database:. Als je de gebruiker eerder hebt gemaakt, hoef je de opdracht niet uit te voeren.
$ python3 beheren.py createsuperuserVoeg de app-naam toe aan de INSTALLED_APP deel van de py het dossier.
INSTALLED_APPS = […
'model-app'
]
Maak een map met de naam Sjablonen binnen in de model-app map en stel de Sjablonen locatie van de app in de SJABLONEN deel van de py het dossier.
SJABLONEN = [… .
'DIRS': ['/home/fahmida/django_pro/modelapp/templates'],
… .
,
]
Maak een model voor de databasetabel:
Open de modellen.py bestand van de model-app map en voeg het volgende script toe om de structuur van twee relationele tabellen te definiëren:. Leraar class is gedefinieerd om een tabel te maken met de naam leraren met naam, afdeling, e-mail, en telefoon velden. Cursus class is gedefinieerd om een tabel te maken met de naam cursussen met code, naam, tegoed, en leraar velden. Hier de leraar gebied van Cursussen tabel is de externe sleutel die zal verschijnen uit de Leraren tafel.
modellen.py
# Importeer modellen modulevan django.db-importmodellen
# Maak een klas om de structuur van de lerarentabel te definiëren
klasse Leraar (modellen).Model):
naam = modellen.CharField(max_length=50)
afdeling = modellen.CharField(max_length=20)
e-mail = modellen.E-mailveld(max_length=100)
telefoon = modellen.CharField(max_length=50)
# Maak een klas om de structuur van de Cursussentabel te definiëren
klasse Cursus (modellen).Model):
code = modellen.CharField(max_length=10)
naam = modellen.CharField(max_length=50)
tegoed = modellen.FloatField()
leraar = modellen.ForeignKey (leraar, on_delete=modellen).CASCADE)
Voer de ... uit migraties opdracht om een nieuwe migratie te maken op basis van de wijzigingen die door de modellen zijn aangebracht.
$ python3 beheren.py makemigraties model-appVoer de ... uit migreren commando om de SQL-commando's uit te voeren en alle tabellen te maken in de database gedefinieerd in de in modellen.py het dossier.
$ python3 beheren.py migrerenWijzig de inhoud van de beheerder.py bestand met de volgende inhoud:. Hier, Leraar en Cursus klassen van de modellen worden geregistreerd met behulp van de registreren() methode om de . weer te geven Leraren en Cursussen tabellen in het Django-beheerdashboard.
beheerder.py
# Beheermodule importerenvan django.bijdrage import beheerder
# Importeer de modellen
van .modellen importeren Leraar
van .modellen importeren Cursus
# Registreer de modellen
beheerder.website.inschrijven (Leraar)
beheerder.website.inschrijven (cursus)
URL instellen voor beheerdersaanmelding:
Het pad voor beheerdersaanmelding is gedefinieerd in de URL's.py bestand voor elke Django-app standaard. Als het pad niet in het bestand is gedefinieerd, wijzigt u de URL's.py bestand met het volgende script om het ingebouwde Django-beheerdashboard voor het pad te openen' beheerder/'.
URL's.py
# Beheermodule importerenvan django.bijdrage import beheerder
# Padmodule importeren
van django.URL-importpad
# Definieer het pad voor admin
urlpatronen = [
pad('admin/', beheerder.website.URL's),
]
Records in de tabellen invoegen:
Voer de volgende URL uit vanuit de browser om het Django-beheerdashboard te openen:.
http://localhost:8000/admin
De volgende tabellen worden getoond voor de model-app. Elk record van de tabellen kan worden gelezen, ingevoegd, bijgewerkt en verwijderd vanaf deze pagina.
Klik op de tabel Docenten om enkele records in de tabel in te voegen. Er verschijnt een formulier met de benodigde velden zoals de volgende afbeelding voor het invoegen van een record. Er zijn drie knoppen in het formulier om records in de tabel in te voegen. 'Opslaan en nog een toevoegen' knop wordt gebruikt om het record in te voegen en het formulier opnieuw te openen voor het invoegen van het volgende record. De 'Opslaan en doorgaan met bewerken' knop wordt gebruikt om het record in te voegen en het formulier opnieuw te openen met de gegevens om te bewerken. De 'Sparen' knop wordt gebruikt om alleen de record in te voegen. Elk deelnameformulier bevat deze drie knoppen contain.
Na het invoegen van de twee docentenrecords, verschijnt de volgende informatie in de browser:.
Het volgende formulier verschijnt nadat u op de cursustabel hebt geklikt. De leraar veld van de Cursussen tafel is gerelateerd aan de Leraren tabel door de buitenlandse sleutel. De vervolgkeuzelijst met ingevoegde Docentobjecten verschijnt om de gegevens in dit veld uit de lijst toe te voegen.
Na het invoegen van drie records in de Cursussen-tabel, verschijnt de volgende informatie in de browser:. Als u records van de Cursussen of de Docenten-tabel wilt wijzigen, klikt u op dat specifieke object om het bewerkingsformulier met de bestaande gegevens te openen.
U kunt de records van beide tabellen in de browser weergeven met behulp van de uitzichten.py bestand en het maken van de tempels in de gedefinieerde sjabloonlocatie. U kunt hiervoor de Django View- en Django Template-tutorials bekijken.
Conclusie
De tabelgegevens kunnen worden geopend of gewijzigd door Django Administration Dashboard, zoals uitgelegd in deze tutorial. Maar de gegevens kunnen in de tabellen worden ingevoegd door een script te schrijven in de keer bekeken.py bestand met of zonder gebruik van het sjabloonbestand.