Natrag na blog

Izrada Django aplikacije s povezivanjem na bazu podataka: Vodič

Izrada Django aplikacije s povezivanjem na bazu podataka: Vodič

Django je besplatan web okvir otvorenog koda izgrađen u Python. Prvi put objavljen 2005. godine, Django utjelovljuje moto „brzog razvoja i čistog, pragmatičnog dizajna”. Okvir, postavljen na web poslužitelj, može brzo proizvesti web sučelje s bogatim značajkama, sigurnošću i skalabilnošću.

Svaka se web aplikacija oslanja na baze podataka za svoj sadržaj. Django, kao moderan okvir, podržava niz standardnih programa za baze podataka, na primjer, PostgreSQL, SQLite, MySQL, itd. Ovaj vodič prikazat će kako povezati Django aplikaciju s bazom podataka na MySQL-u.

Preduvjeti

Kako biste pratili ovaj vodič, morate ispuniti određene preduvjete prije nego što prijeđete na Django i povezivanje s bazom podataka:

Instaliranje i konfiguriranje Pythona 3

Django je napisan u Pythonu. Pokretanje bilo koje Python aplikacije zahtijeva instalaciju Python binarnih datoteka u sustavu. Ubuntu dolazi s unaprijed instaliranim Pythonom. Ovdje ćemo koristiti Python 3. Iz terminala pokrenite sljedeće naredbe. Prvo ažurirajte APT predmemoriju i nadogradite (ako je dostupno) sve instalirane pakete:

Python 3 je izravno dostupan sa službenih Ubuntu poslužitelja paketa. Paket python-is-python3  stvara python binarnu meku poveznicu na python3 radi lakšeg korištenja:

Zatim provjerite je li instalacija bila uspješna:

Nakon toga nam treba pip. To je standardni upravitelj paketa za Python. Odgovoran je za upravljanje dodatnim Python bibliotekama koje nisu dio standardne biblioteke. Imajte na umu da instaliramo pip3 (za Python 3):

Na kraju, trebamo neke dodatne pakete za robusno programsko okruženje:

Instaliranje i konfiguriranje MySQL-a

Ovaj odjeljak ukratko će prikazati instalaciju i konfiguraciju MySQL-a. Dostupan je iz zadane Ubuntu riznice paketa:

Ako je instalacija bila uspješna, MySQL će se pokrenuti u pozadini. Provjerite radi li ispravno:

Django App 1

MySQL poslužitelj je pokrenut i radi. Sada možemo sigurno prijeći na razvoj naše Django aplikacije.

Rad s Djangom

  • Uspostavljanje ogledne Django aplikacije

Temelj naše web aplikacije zahtijeva kostur Django projekta. Sadrži sve potrebne alate i biblioteke potrebne za stvaranje robusne web aplikacije. Prvo ćemo stvoriti namjenski direktorij za našu Django aplikaciju. Preporučuje se nazvati direktorij nečim smislenim i usklađenim s aplikacijom koju namjeravamo izgraditi. U ovoj demonstraciji nazvat ćemo ga myDemoApp:

Trebamo Pythonov venv modul za stvaranje virtualnog okruženja unutar direktorija. Instalirajte modul pomoću APT:

Zatim idite u direktorij i uspostavite virtualno okruženje. Radi jasnoće, okruženje smo nazvali demoapp_env:

Zatim aktivirajte virtualno okruženje pokretanjem skripte activate:

Django App 2

Sada ćemo instalirati Django unutar ovog namjenskog virtualnog okruženja. Pip će preuzeti i instalirati neke dodatne komponente:

Django je instaliran i spreman za korištenje. Pozovite naredbu django-admin kako biste izradili novi Django projekt. Nakon toga dajte aplikaciji odgovarajući naziv:

To će stvoriti demo projekt s potrebnim projektnim datotekama i direktorijima:

Django App 3

Kostur projekta je spreman. Zatim ga moramo ispravno konfigurirati kako bismo postigli svoj cilj.

  • Uređivanje postavki Django projekta

Sve konfiguracije projekta pohranjene su u datoteci settings.py. Nalazi se unutar direktorija Django projekta. Započet ćemo postavljanjem odgovarajuće vremenske zone i popisom poslužitelja koji se mogu povezati s Django aplikacijom. Otvorite konfiguracijsku datoteku u uređivaču teksta:

Pomaknite se prema dolje u skripti i pronađite unos TIME_ZONE. Za demonstraciju, vremenska zona je postavljena na America/New_York:

TIME_ZONE

Za referencu, sljedeća naredba ispisat će sve podržane vremenske zone u Linuxu:

Zatim se pomaknite do unosa ALLOWED_HOSTS. On kontrolira koje računalo (ili računala) može pristupiti aplikaciji. Za demonstraciju, sadrži samo localhost:

Django App 4Zatim spremite datoteku i zatvorite uređivač. Sljedeća naredba primijenit će promjene:

python manageSada moramo stvoriti administratorski račun za web aplikaciju. Ovaj račun koristit će se za pristup Django administratorskom sučelju. Pokrenite sljedeću naredbu:

Django App 5Zatražit će korisničko ime, e-poštu i lozinku. Aplikacija je sada spremna za povezivanje s bazom podataka.

MySQL veza

  • Instaliranje MySQL konektora i razvojnih biblioteka

Kako bismo integrirali MySQL u Django aplikaciju, trebamo neke dodatne Python 3 biblioteke koje će pružiti potrebne alate. Koristit ćemo konektor baze podataka mysqlclient. To je fork od MySQLdb.

Provjerite imamo li python3-dev instaliran:

Također trebamo neka dodatna Python i MySQL zaglavlja i biblioteke:

Nakon što je instalacija dovršena, upotrijebite pip za instalaciju Python modula mysqlclient. Može generirati neke poruke o pogrešci koje se mogu zanemariti:

  • Konfiguriranje namjenske baze podataka

Sljedeći korak je konfiguriranje namjenske baze podataka i korisnika baze podataka za našu Django aplikaciju. Pokrenite MySQL ljusku kao root korisnik:

Za provjeru svih trenutno dostupnih baza podataka, pokrenite sljedeći upit:

Stvorimo namjensku bazu podataka za našu Django aplikaciju. Dajte joj odgovarajući naziv koji je u skladu s nazivom projekta:

Zatim provjerite stvaranje:

Django App 6Sada stvorite namjenskog MySQL korisnika. Konfigurirat ćemo ovog korisnika kao vlasnika baze podataka. Django aplikacija koristit će vjerodajnice ovog korisnika za rad s MySQL bazom podataka:

Dajte korisniku demoapp_user puna dopuštenja nad bazom podataka demoapp_data:

Kako bi promjene dopuštenja stupile na snagu, ponovno učitajte MySQL tablice dopuštenja:

Django App 7Baza podataka je sada spremna za povezivanje s Django aplikacijom.

  • Povezivanje baze podataka s Django aplikacijom

Na kraju ćemo konfigurirati Django aplikaciju da koristi bazu podataka za pohranu podataka. Otvorite konfiguracijsku skriptu settings.py:

Pomaknite se prema dolje do unosa DATABASES i unesite sljedeći kod:

Django App 8Spremite datoteku i zatvorite uređivač. Sljedeći korak je postavljanje konfiguracijske datoteke opisane u prethodnom kodu. Koristite sudo kako biste otvorili tekstualnu datoteku na opisanoj lokaciji:

Ova konfiguracijska datoteka sadržavat će informacije o bazi podataka namijenjenoj Djangu i korisniku kojeg smo kreirali na MySQL poslužitelju. Dodajte sljedeće retke na kraj datoteke:

default-character-setKako bi promjene stupile na snagu, moramo ponovno pokrenuti MySQL poslužitelj:

  • Testiranje MySQL veze

Sada je vrijeme da provjerite radi li MySQL veza ispravno. Ako se Django poslužitelj pokreće bez problema, onda veza radi dobro. U suprotnom, nešto nije u redu. Prvo primijenite sve promjene napravljene na Django projektu:

python manageSada prijeđite u sljedeći direktorij projekta i pokrenite Django poslužitelj:

python manage.py runserverZatim pokušajte pristupiti poslužitelju iz web preglednika:

server_ip_address

Evo ga! Uspješno smo dospjeli na Django stranicu uspjeha. To također potvrđuje da MySQL veza radi ispravno. Nakon što je zadatak završen, možete sigurno izaći iz virtualnog okruženja:

Završne misli

U ovom ste vodiču naučili osnove kombiniranja Djanga i MySQL-a. Izradili smo Django aplikaciju i prikazali kako je povezati s MySQL bazom podataka. Čarolija leži u konfiguracijskoj datoteci Djanga settings.py. Također smo izmijenili neke osnovne postavke poput ALLOWED_HOSTS i TIME_ZONE. Django je nevjerojatno fleksibilan. Osim MySQL-a, podržava i druge SQL poslužitelje poput PostgreSQL-a, poslužiteljske motore poput Nginxa itd.

Također možete pogledati naše vodiče o najboljim praksama za instalaciju, konfiguraciju i rad s Djangom:

Sretno programiranje!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.