Django Vodič za Početnike: Brzo Izgradite Vašu Prvu Web Aplikaciju

2/19/2026
5 min read

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.

  1. Otvorite terminal ili komandni prompt.

  2. Kreirajte direktorij projekta, na primjer myproject:

    mkdir myproject
    cd myproject
    
  3. 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  # Windows
    

    Nakon 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.

  1. I dalje u vašem direktoriju projekta (myproject), pokrenite sljedeću naredbu:

    django-admin startproject mysite
    

    Ovo će kreirati direktorij pod nazivom mysite u direktoriju myproject, koji sadrži skeletne datoteke Django projekta.

  2. Uđite u mysite direktorij:

    cd mysite
    
  3. Struktura direktorija Django projekta je sljedeća:

    mysite/
        manage.py
        mysite/
            __init__.py
            settings.py
            urls.py
            asgi.py
            wsgi.py
    
    • manage.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.

  1. U direktoriju mysite, pokrenite sljedeću naredbu:

    python manage.py runserver
    
  2. 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.

  1. Otvorite novi terminalski prozor (ostavite razvojni server pokrenut).

  2. U direktoriju mysite, pokrenite sljedeću naredbu:

    python manage.py startapp myapp
    

    Ovo će kreirati direktorij pod nazivom myapp u direktoriju mysite, koji sadrži kostur datoteka Django aplikacije.

  3. 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.
  4. U mysite/settings.py, dodajte myapp u listu INSTALLED_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.

  1. Uredite datoteku myapp/views.py i dodajte sljedeći kod:

    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse("Hello, Django!")
    
  2. Kreirajte datoteku myapp/urls.py i 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.
Published in Technology

You Might Also Like