Warunki wstępne
Zanim zaczniesz ćwiczyć przykłady z tego samouczka, musisz wykonać następujące zadania.
- Zainstaluj Django w wersji 3+ na Ubuntu 20+ (najlepiej)
- Utwórz projekt Djangogo
- Uruchom serwer Django, aby sprawdzić, czy serwer działa poprawnie, czy nie.
Skonfiguruj aplikację Django:
Uruchom następujące polecenie, aby utworzyć aplikację Django o nazwie aplikacja modelu.
$ python3 zarządzaj.py modelaplikacji startowejUruchom następujące polecenie, aby utworzyć użytkownika umożliwiającego dostęp do bazy danych Django. Jeśli wcześniej utworzyłeś użytkownika, nie musisz uruchamiać polecenia.
$ python3 zarządzaj.py tworzy superużytkownikDodaj nazwę aplikacji w INSTALLED_APP część py plik.
INSTALLED_APPS = […
'aplikacja modelowa
]
Utwórz folder o nazwie szablony w środku aplikacja modelu folder i ustaw szablon lokalizacja aplikacji w SZABLONY część py plik.
SZABLONY = [… .
'DIRS': ['/home/fahmida/django_pro/modelapp/templates'],
… .
,
]
Utwórz model dla tabeli bazy danych:
Otworzyć modele.py plik z aplikacja modelu folder i dodaj następujący skrypt, aby zdefiniować strukturę dwóch tabel relacyjnych. Nauczyciel klasa jest zdefiniowana w celu utworzenia tabeli o nazwie nauczyciele z imię i nazwisko, dział, e-mail, i telefon pola. Kierunek klasa jest zdefiniowana w celu utworzenia tabeli o nazwie kursy z kod, nazwa, kredyt, i nauczyciel pola. Tutaj nauczyciel pole Kursy tabela jest kluczem obcym, który pojawi się z Nauczyciele stół.
modele.py
# Moduł importu modeliz django.modele importu db
# Utwórz klasę, aby zdefiniować strukturę tabeli Nauczyciele
Nauczyciel klasy (modele).Model):
nazwa = modele.Pole znaku(max_length=50)
dział = modele.Pole znaku(max_length=20)
email = modelki.Pole e-mail (max_length=100)
telefon = modele.Pole znaku(max_length=50)
# Utwórz klasę, aby zdefiniować strukturę tabeli kursów
klasa Kurs(modele.Model):
kod = modele.Pole znaku(max_length=10)
nazwa = modele.Pole znaku(max_length=50)
kredyt = modele.Pole zmiennoprzecinkowe()
nauczyciel = modelki.Klucz obcy (nauczyciel, on_delete=modele.KASKADA)
Uruchom makemigracje polecenie do utworzenia nowej migracji na podstawie zmian wprowadzonych przez modele.
$ python3 zarządzaj.py makemigrations model aplikacjiUruchom migrować polecenie do wykonywania poleceń SQL i tworzenia wszystkich tabel w bazie danych zdefiniowanej w modele.py plik.
$ python3 zarządzaj.py migracjaZmodyfikuj zawartość Administrator.py plik o następującej treści. Tutaj, Nauczyciel i Kierunek klasy modeli są rejestrowane za pomocą zarejestrować() metoda wyświetlania Nauczyciele i Kursy tabele w panelu administracyjnym Django.
Administrator.py
# Importuj moduł administracyjnyz django.admin importu wkładów
# Importuj modele
z .modele importują nauczyciela
z .modele importu Kurs
# Zarejestruj modele
Administrator.teren.zarejestruj się (nauczyciel)
Administrator.teren.zarejestruj się (Kurs)
Ustaw adres URL logowania administratora:
Ścieżka do logowania administratora jest zdefiniowana w adresy URL.py domyślnie dla dowolnej aplikacji Django. Jeśli ścieżka nie jest zdefiniowana w pliku, zmodyfikuj adresy URL.py plik z następującym skryptem do otwarcia wbudowanego pulpitu administracyjnego Django dla ścieżki' Administrator/'.
adresy URL.py
# Importuj moduł administracyjnyz django.admin importu wkładów
# Importuj moduł ścieżki
z django.Ścieżka importu adresów URL
# Zdefiniuj ścieżkę dla administratora
wzory url = [
ścieżka('admin/', admin.teren.adresy URL),
]
Wstaw rekordy w tabelach:
Uruchom następujący adres URL z przeglądarki, aby otworzyć Pulpit administracyjny Django.
http://localhost:8000/admin
Poniższe tabele zostaną pokazane dla aplikacji modelu. Dowolny zapis tabel można czytać, wstawiać, aktualizować i usuwać z tej strony.
Kliknij tabelę Nauczyciele, aby wstawić kilka rekordów do tabeli. Pojawi się formularz z niezbędnymi polami, taki jak poniższy obrazek, do wstawienia rekordu. W formularzu znajdują się trzy przyciski do wstawiania rekordów w tabeli. 'Zapisz i dodaj kolejnyPrzycisk ' służy do wstawienia rekordu i ponownego otwarcia formularza w celu wstawienia kolejnego rekordu. „Zapisz i kontynuuj edycjęPrzycisk ' służy do wstawienia rekordu i ponownego otwarcia formularza z danymi do edycji. „ZapisaćPrzycisk ' służy tylko do wstawienia rekordu. Każdy formularz zgłoszeniowy będzie zawierał te trzy przyciski.
Po wstawieniu dwóch rekordów nauczyciela w przeglądarce pojawią się następujące informacje information.
Po kliknięciu w tabelę kursów pojawi się poniższy formularz. Nauczyciel pole Kursy tabela jest powiązana z Nauczyciele tabela według klucza obcego. Pojawi się rozwijana lista z wstawionymi obiektami Nauczyciela, aby dodać dane w tym polu z listy.
Po wstawieniu trzech rekordów do tabeli Kursy, w przeglądarce pojawią się następujące informacje. Jeśli chcesz zmodyfikować jakiekolwiek rekordy w tabeli Kursy lub Nauczyciele, kliknij ten konkretny obiekt, aby otworzyć formularz edycji z istniejącymi danymi.
Możesz wyświetlić rekordy obu tabel w przeglądarce, używając widoki.py plik i tworzenie świątyń w zdefiniowanej lokalizacji szablonu. Możesz sprawdzić samouczki dotyczące widoku Django i szablonu Djangogo.
Wniosek
Dane tabeli mogą być dostępne lub modyfikowane przez Pulpit administracyjny Django, jak wyjaśniono w tym samouczku. Ale dane można wstawić do tabel, pisząc skrypt w wyświetlenia.py plik z lub bez korzystania z pliku szablonu.