Istraži admin panel
U admin panelu napravi dva obična korisnika (bez administratorskih prava). Zatim u komandnoj liniji pokreni python manage.py shell i ispiši korisnička imena svih korisnika.
Pravimo kostur projekta: Django projekat logo_kreator sa dve aplikacije – logoi (naslovna, generator, čuvanje) i nalozi (registracija). Pokrećemo razvojni server, pravimo bazu i administratora i otvaramo admin panel.
U Django-u projekat je ceo sajt (podešavanja, glavni URL-ovi), a aplikacije su njegovi delovi koji rade jednu stvar. Aplikacija se može preneti i u drugi projekat.
:: u folderu logo_kreator_django, sa aktivnim .venv
django-admin startproject logo_kreator .
python manage.py startapp logoi
python manage.py startapp nalozi
Tačka na kraju prve komande znači „napravi projekat u ovom folderu“ – tako ne nastaje još jedan suvišan nivo foldera.
logo_kreator_django/
├── .venv/ ← virtuelno okruženje
├── manage.py ← alat za upravljanje projektom
├── logo_kreator/ ← podešavanja projekta
│ ├── settings.py
│ ├── urls.py
│ ├── asgi.py
│ └── wsgi.py
├── logoi/ ← aplikacija: naslovna, generator, logoi
│ ├── admin.py apps.py models.py tests.py views.py
│ └── migrations/
└── nalozi/ ← aplikacija: registracija
└── ...
python manage.py runserver
Otvori http://127.0.0.1:8000 – vidi se Django-ova strana dobrodošlice (raketa). Server se sam ponovo pokreće kada sačuvaš izmenu u .py fajlu; zaustavlja se sa Ctrl+C. U komandnoj liniji vidiš svaki zahtev i statusni kod, kao u lekciji Kako radi web server.
runserver nije napravljen za javni sajt. Na internetu aplikaciju pokreće Gunicorn (lekcija 9).python manage.py migrate
python manage.py createsuperuser
migrate pravi fajl db.sqlite3 sa tabelama koje su Django-u potrebne (korisnici, sesije, admin). createsuperuser pravi korisnika sa svim pravima – unesi korisničko ime, email (može prazno) i lozinku dva puta (dok kucaš, ne vidi se ništa – to je normalno).
Pokreni server i otvori http://127.0.0.1:8000/admin/: posle prijave vidiš tabele Korisnici i Grupe i možeš ručno da dodaš korisnika. Admin panel dobijamo potpuno besplatno.
pregledač ──GET /moji-logoi/──▶ urls.py ──▶ view (Python funkcija)
│ │
│ └──▶ Model ──▶ baza
▼
template (HTML šablon)
│
pregledač ◀──────── HTML odgovor ─────────────┘
| Deo | Fajl | Uloga | Lekcija |
|---|---|---|---|
| URL | urls.py | koja adresa poziva koju funkciju | 4 |
| View (pogled) | views.py | Python funkcija: prima zahtev, vraća odgovor | 4, 8 |
| Template (šablon) | templates/*.html | HTML sa mestima za podatke | 4 |
| Model | models.py | opis podataka i rad sa bazom | 5 |
Ovo se zove MVT (Model – View – Template). U drugim framework-ovima (ASP.NET) isti princip se zove MVC.
git init
echo .venv/> .gitignore
echo __pycache__/>> .gitignore
echo db.sqlite3>> .gitignore
git add .
git commit -m "Početak Django projekta Logo kreator"
Fajl .gitignore kaže Git-u šta da ne prati: okruženje, privremene fajlove i lokalnu bazu. Posle svake lekcije napravi novi „commit“ – ako nešto pokvariš, lako se vraćaš.
Za svaki zadatak postoji primer, uputstvo i rešenje.
U admin panelu napravi dva obična korisnika (bez administratorskih prava). Zatim u komandnoj liniji pokreni python manage.py shell i ispiši korisnička imena svih korisnika.
manage.py, sa aktivnim okruženjem.python manage.py runserver 8080.logoi, ne Logoi ili logo-i) – koristi se kao ime Python modula.migrations – u njemu je istorija izmena baze.1. Šta pravi komanda python manage.py migrate prvi put?
2. Kako se zove deo Django-a koji je Python funkcija i vraća odgovor?
3. Da li runserver služi za javni sajt na internetu?
Web programiranje → Početak Django aplikacije
Django je Python framework koji omogućava brzo pravljenje web aplikacija.
On se zasniva na MVT (Model - View - Template) arhitekturi.
U prethodnoj lekciji si pripremio razvojno okruženje i instalirao potrebne alate. Sada prelazimo na kreiranje prve Django aplikacije.
Pravimo aplikaciju za generisanje logotipa.
Korisnik unosi naziv firme, a sistem generiše početni logo koji se kasnije može menjati i preuzeti.
Aplikacija uključuje i:
Ako se video ne prikazuje, klikni ovde .
Pre nego što krenemo, proveri da li je Django instaliran:
python -m django --version
Ako dobiješ verziju — spreman si za rad.
pip install django
Prvi korak je kreiranje projekta:
django-admin startproject ime_projekta
Ovo kreira osnovnu strukturu Django projekta.
python manage.py runserver
Aplikacija se otvara na:
http://localhost:8000
Django koristi SQLite bazu po default-u.
Podešavanja se nalaze u settings.py.
python manage.py makemigrations
python manage.py migrate
Ovim se kreiraju tabele u bazi.
python manage.py createsuperuser
Admin panel je dostupan na:
http://localhost:8000/admin/
| Da podsetimo, opis aplikacije bi bio sledeći: Aplikacija treba da omogući korisniku da kreira logo, tako što će na osnovu unetog imena ili naziva firme, odabrane kategorije ponudi početnu verziju za logo, omogući korisniku da edituje logo, sačuva ga, a zatim id a ga preuzme na svoj računar. Aplikacija takođe treba da ima i deo za registrovanje, kao i logovanje korisnika. U nastavku će biti pokazan samo deo aplikacije, koji se sastoji od naslovne strane, dela za registraciju korisnika, kao i logovanje korisnika. Takođe će se pokazati i kako se kreira baza, superuser i kako da se iskoristi Djangov admin interfejs za upravljanje registrovanim korisnicima. Kada korisnik upiše u polju za unos ime ili naziv, biće izvršeno preusmeravanje na stranu za registraciju. Posle uspešnog registrovanja, a zatim i prijavljivanja na system, korisniku će se učitati sledeće stranica na kojoj on dalje bira kategoriju za logo i gde će mu se ponuditi početna verzija logo-a. |
Početak kreiranja aplikacije-video |
| Prethodno |<Kreiranje Python web aplikacije |
Sledeće Logo Kreator - Kreiranje Naslovne strane>| |