Django Vodič za Početnike: Brzo Izgradite Vašu Prvu Web Aplikaciju
Django Vodič za Početnike: Brzo Izgradite Vašu Prvu Web Aplikaciju
Django je napredni Python Web framework, sa ciljem brzog razvoja i jednostavnog dizajna. On prati model-template-view (MTV) arhitekturu, podstiče ponovnu upotrebu koda i modularnost. Ovaj vodič će vas voditi korak po korak kroz kreiranje jednostavne Django aplikacije, kako biste brzo počeli.
1. Postavljanje Okruženja
Prvo, morate osigurati da je Python instaliran na vašem sistemu. Django preporučuje korištenje Python 3.6 ili novije verzije.
1.1 Instalacija Pythona
Ako vaš sistem nema instaliran Python, možete ga preuzeti i instalirati sa Python zvanične stranice.
1.2 Kreiranje Virtualnog Okruženja (Virtual Environment)
Da biste izolovali zavisnosti između različitih projekata, toplo se preporučuje korištenje virtualnog okruženja.
-
Otvorite terminal ili komandni prompt.
-
Kreirajte direktorij projekta, na primjer
myproject:mkdir myproject cd myproject -
Kreirajte i aktivirajte virtualno okruženje:
python3 -m venv venv # 或者 python -m venv venv (ili python -m venv venv) source venv/bin/activate # Linux/macOS venv\Scripts\activate # WindowsNakon aktivacije virtualnog okruženja, vaš terminal prompt će prikazati
(venv), što znači da koristite virtualno okruženje.
1.3 Instalacija Django
U aktiviranom virtualnom okruženju, koristite pip za instalaciju Django:
pip install Django
Provjerite da li je instalacija uspješna:
python -m django --version
Trebali biste vidjeti broj verzije Django.
2. Kreiranje Django Projekta
Nakon instalacije Django, možete kreirati novi Django projekat.
-
I dalje u vašem direktoriju projekta (
myproject), pokrenite sljedeću naredbu:django-admin startproject mysiteOvo će kreirati direktorij pod nazivom
mysiteu direktorijumyproject, koji sadrži skeletne datoteke Django projekta. -
Uđite u
mysitedirektorij:cd mysite -
Struktura direktorija Django projekta je sljedeća:
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.pymanage.py: Alat komandne linije za upravljanje Django projektom.mysite/: Python paket koji sadrži konfiguraciju projekta.__init__.py: Prazna datoteka koja govori Pythonu da se ovaj direktorij treba smatrati Python paketom.settings.py: Konfiguracijska datoteka projekta, kao što su postavke baze podataka, način rada za otklanjanje grešaka, itd.urls.py: Konfiguracija URL rutiranja, mapira URL-ove na funkcije prikaza.asgi.py: ASGI (Asynchronous Server Gateway Interface) konfiguracijska datoteka, za implementaciju asinhronih aplikacija.wsgi.py: WSGI (Web Server Gateway Interface) konfiguracijska datoteka, za implementaciju tradicionalnih sinhronih aplikacija.
3. Pokretanje razvojnog servera
Django dolazi sa laganim razvojnim serverom koji vam olakšava lokalni razvoj i testiranje.
-
U direktoriju
mysite, pokrenite sljedeću naredbu:python manage.py runserver -
Otvorite svoj preglednik i posjetite
http://127.0.0.1:8000/. Trebali biste vidjeti stranicu sa tekstom "It worked! Congratulations on your first Django-powered page.".
4. Kreiranje Django aplikacije
Jedan Django projekat može sadržavati više aplikacija. Kreirajmo aplikaciju pod nazivom myapp.
-
Otvorite novi terminalski prozor (ostavite razvojni server pokrenut).
-
U direktoriju
mysite, pokrenite sljedeću naredbu:python manage.py startapp myappOvo će kreirati direktorij pod nazivom
myappu direktorijumysite, koji sadrži kostur datoteka Django aplikacije. -
Struktura direktorija Django aplikacije je sljedeća:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: Prazna datoteka koja govori Pythonu da se ovaj direktorij treba smatrati Python paketom.admin.py: Koristi se za konfiguriranje Django administratorskog sučelja.apps.py: Konfiguracija aplikacije.migrations/: Koristi se za upravljanje migracijama baze podataka.models.py: Definira modele podataka (tabele baze podataka).tests.py: Pišite testne slučajeve.views.py: Definira funkcije pogleda, obrađuje zahtjeve i vraća odgovore.
-
U
mysite/settings.py, dodajtemyappu listuINSTALLED_APPS:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # Dodajte myapp ]
5. Kreiranje jednostavnog pogleda
Sada ćemo kreirati jednostavan pogled koji prikazuje "Hello, Django!" u pregledniku.
-
Uredite datoteku
myapp/views.pyi dodajte sljedeći kod:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Kreirajte datoteku
myapp/urls.pyi mapirajte URL na funkciju pogleda:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
```
3. Uključite `myapp/urls.py` u `mysite/urls.py`:
```python
from django.urls import include, path
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')), # Dodajte URL konfiguraciju za myapp
]
```
4. Posjetite `http://127.0.0.1:8000/myapp/`. Trebali biste vidjeti stranicu "Hello, Django!".
## 6. Kreiranje modela
Kreirajmo jednostavan model za pohranu podataka.
1. Uredite datoteku `myapp/models.py` i dodajte sljedeći kod:
```python
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
```
Ovo definira model pod nazivom `Question` koji sadrži dva polja: `question_text` (CharField) i `pub_date` (DateTimeField).
2. Kreirajte i primijenite migracije baze podataka:
```bash
python manage.py makemigrations myapp
python manage.py migrate
```
`makemigrations` naredba kreira datoteku migracije na temelju vašeg modela, a naredba `migrate` primjenjuje migracije na bazu podataka.
## 7. Korištenje Django administrativnog sučelja
Django nudi moćno administrativno sučelje koje olakšava upravljanje vašim podacima.
1. Kreirajte superkorisnika:
```bash
python manage.py createsuperuser
```
Slijedite upute za unos korisničkog imena, e-pošte i lozinke.
2. Uredite datoteku `myapp/admin.py` i registrirajte model `Question`:
```python
from django.contrib import admin
from .models import Question
admin.site.register(Question)
```
3. Posjetite `http://127.0.0.1:8000/admin/` i prijavite se s superkorisnikom kojeg ste kreirali. Trebali biste vidjeti modul "Questions" gdje možete dodavati, uređivati i brisati pitanja.
## 8. Korištenje šablona
Korištenje šablona omogućuje fleksibilnije generiranje HTML stranica.1. U direktoriju `myapp` kreirajte direktorij pod nazivom `templates`, a zatim u direktoriju `templates` kreirajte direktorij pod nazivom `myapp` (`myapp/templates/myapp`).
2. U direktoriju `myapp/templates/myapp` kreirajte datoteku pod nazivom `index.html` i dodajte sljedeći kod:
```html
Hello, Django!
The current time is: {{ current_time }}
```
3. Uredite datoteku `myapp/views.py` i koristite šablon:
```python
from django.shortcuts import render
import datetime
def index(request):
now = datetime.datetime.now()
return render(request, 'myapp/index.html', {'current_time': now})
```
`render` funkcija učitava šablon i prosljeđuje podatke šablonu za renderiranje.
4. Ponovo posjetite `http://127.0.0.1:8000/myapp/`. Trebali biste vidjeti stranicu koja sadrži trenutno vrijeme.
## 9. Zaključak
Kroz ovaj vodič ste naučili osnovne koncepte i načine korištenja Django-a, uključujući postavljanje okruženja, kreiranje projekata i aplikacija, definiranje modela, kreiranje pogleda i korištenje šablona. Ovo je samo početak, Django nudi bogat skup funkcija, možete nastaviti učiti i istraživati, te graditi složenije web aplikacije.





