Vodič za početnike za Django: Brzo izradite svoju prvu web aplikaciju

2/19/2026
5 min read

Vodič za početnike za Django: Brzo izradite svoju prvu web aplikaciju

Django je napredni Python web okvir, s ciljem brzog razvoja i jednostavnog dizajna. Slijedi arhitekturu model-predložak-pogled (MTV), potiče ponovnu upotrebu koda i modularnost. Ovaj će vas vodič korak po korak voditi kroz stvaranje jednostavne Django aplikacije, omogućujući vam brz početak.

1. Postavljanje okruženja

Prvo, morate osigurati da je Python instaliran na vašem sustavu. Django preporučuje korištenje Pythona 3.6 ili novijeg.

1.1 Instalacija Pythona

Ako Python nije instaliran na vašem sustavu, možete ga preuzeti i instalirati s Python službene web stranice.

1.2 Stvaranje virtualnog okruženja (Virtual Environment)

Kako biste izolirali ovisnosti između različitih projekata, toplo se preporučuje korištenje virtualnog okruženja.

  1. Otvorite terminal ili naredbeni redak.

  2. Stvorite direktorij projekta, na primjer myproject:

mkdir myproject cd myproject ```

  1. Stvorite i aktivirajte virtualno okruženje:

python3 -m venv venv # Ili python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows ```

Nakon aktivacije virtualnog okruženja, vaš terminalski 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 je li instalacija uspjela:

python -m django --version

Trebali biste vidjeti broj verzije Django.

2. Stvaranje Django projekta

Nakon instalacije Django, možete stvoriti novi Django projekt.

  1. Još uvijek u vašem projektnom direktoriju (myproject), pokrenite sljedeću naredbu:

django-admin startproject mysite ```

Ovo će stvoriti direktorij pod nazivom `mysite` u direktoriju `myproject`, koji sadrži kostur datoteka Django projekta.

2. Uđite u direktorij mysite:

```bash

cd mysite ```

  1. Struktura direktorija Django projekta je sljedeća:

mysite/ manage.py mysite/ init.py settings.py urls.py asgi.py wsgi.py ```

*   `manage.py`: Alat naredbenog retka 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 pogrešaka itd.
    *   `urls.py`: Konfiguracija usmjeravanja URL-ova, mapira URL-ove na funkcije pogleda.
    *   `asgi.py`: Konfiguracijska datoteka ASGI (Asynchronous Server Gateway Interface), za implementaciju asinkronih aplikacija.
    *   `wsgi.py`: Konfiguracijska datoteka WSGI (Web Server Gateway Interface), za implementaciju tradicionalnih sinkronih aplikacija.## 3. Pokretanje razvojnog poslužitelja

Django dolazi s laganim razvojnim poslužiteljem koji vam olakšava razvoj i testiranje lokalno.

  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 s tekstom "It worked! Congratulations on your first Django-powered page.".

4. Stvaranje Django aplikacije

Jedan Django projekt može sadržavati više aplikacija. Stvorimo aplikaciju pod nazivom myapp.

  1. Otvorite novi prozor terminala (ostavite razvojni poslužitelj pokrenut).

  2. U direktoriju mysite pokrenite sljedeću naredbu:

    python manage.py startapp myapp
    

    Ovo će stvoriti direktorij pod nazivom myapp u direktoriju mysite, koji sadrži kostur datoteka za Django aplikaciju.

  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 podatkovne modele (tablice 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 na popis 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. Stvaranje jednostavnog pogleda

Sada ćemo stvoriti 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. Stvorite 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:

    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. Stvaranje modela

Napravimo jednostavan model za pohranu podataka.

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

    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 nazvan Question koji sadrži dva polja: question_text (CharField) i pub_date (DateTimeField).

  2. Stvorite i primijenite migracije baze podataka:

    python manage.py makemigrations myapp
    python manage.py migrate
    

    Naredba makemigrations stvara datoteku migracije na temelju vašeg modela, a naredba migrate primjenjuje migraciju na bazu podataka.

7. Korištenje Django administrativnog sučelja

Django nudi moćno administrativno sučelje za jednostavno upravljanje vašim podacima.

  1. Stvorite superkorisnika:

    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:

    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 stvorili. Trebali biste vidjeti modul "Questions" gdje možete dodavati, uređivati i brisati pitanja.

8. Korištenje predložaka

Korištenje predložaka omogućuje fleksibilnije generiranje HTML stranica.

  1. U direktoriju myapp stvorite direktorij pod nazivom templates, a zatim u direktoriju templates stvorite direktorij pod nazivom myapp ( myapp/templates/myapp ).

  2. U direktoriju myapp/templates/myapp stvorite datoteku pod nazivom index.html i dodajte sljedeći kod:

    
    
        
            Hello, Django!
        
        The current time is: {{ current_time }}
    
    
  3. Uredite datoteku myapp/views.py i koristite predložak:

    from django.shortcuts import render
    import datetime
    
    def index(request):
        now = datetime.datetime.now()
        return render(request, 'myapp/index.html', {'current_time': now})
    

    Funkcija render učitava predložak i prosljeđuje podatke predlošku za prikaz.

  4. Ponovno posjetite http://127.0.0.1:8000/myapp/. Trebali biste vidjeti stranicu koja sadrži trenutno vrijeme.

9. Zaključak

Kroz ovaj vodič naučili ste osnovne koncepte i upotrebu Django-a, uključujući postavljanje okruženja, stvaranje projekata i aplikacija, definiranje modela, stvaranje pogleda i korištenje predložaka. Ovo je samo početak, Django nudi bogate značajke, možete nastaviti učiti i istraživati ​​za izgradnju složenijih web aplikacija.

Published in Technology

You Might Also Like