Django

Hoe het model in Django te gebruiken?

Hoe het model in Django te gebruiken?
Model wordt gebruikt in de Django-applicatie om een ​​webapplicatie met een database te maken. Het is een ingebouwde functie van Django om relationele databasetabellen te maken door de tabelstructuur voor het Django-project te definiëren. Elk attribuut van het model geeft het type van het specifieke veld van de tabel aan. Een modelklasse moet elke tabel van de database definiëren. Over het algemeen wordt de naam van de modelklasse gedefinieerd in het enkelvoud en maakt Django een tabelnaam in meervoud op basis van de naam van de modelklasse. Alle wijzigingen aan de tabel die door het model is ontworpen, zoals maken of bijwerken of verwijderen, kunnen heel eenvoudig worden gedaan met behulp van het Django-beheerpaneel. Dezelfde taken kunnen ook worden uitgevoerd vanaf de python-opdrachtregel. Het maken van Django-modellen die twee relationele tabellen zullen maken en hoe ze kunnen worden geopend met behulp van het Django-beheerdashboard wordt in deze zelfstudie getoond.

Vereisten

Voordat u de voorbeelden van deze tutorial oefent, moet u de volgende taken uitvoeren:.

  1. Installeer de Django versie 3+ op Ubuntu 20+ (bij voorkeur)
  2. Een Django-project maken
  3. 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 modelapp

Voer 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 createsuperuser

Voeg 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 module
van 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-app

Voer 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 migreren

Wijzig 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 importeren
van 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 importeren
van 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.

Shadow of the Tomb Raider voor Linux-zelfstudie
Shadow of the Tomb Raider is de twaalfde toevoeging aan de Tomb Raider-serie - een actie-avonturengame-franchise gemaakt door Eidos Montreal. De game ...
Hoe FPS te verhogen in Linux?
FPS staat voor Beelden per seconde. De taak van FPS is om de framesnelheid te meten bij het afspelen van video's of speluitvoeringen. In eenvoudige wo...
Top Oculus App Lab-games
Als je eigenaar bent van een Oculus-headset, moet je op de hoogte zijn van sideloading. Sideloading is het proces van het installeren van niet-winkeli...