Python → Python za web → Django web aplikacija – projekat


Praktičan projekat – Django web aplikacija


Lekcija 12 od 14

U prethodnim lekcijama naučili smo osnovne delove Django framework-a:

  • kreiranje projekta
  • rad sa bazom podataka
  • forme i registraciju korisnika

Sada ćemo sve to povezati u jednu jednostavnu web aplikaciju.

Cilj ovog projekta je napraviti mali sajt koji prikazuje listu članaka.

Struktura projekta

Naš projekat ima sledeću strukturu:


projekat/

manage.py

blog/

models.py
views.py
urls.py

templates/

index.html

Model za članke

Prvo definišemo model u fajlu models.py.


from django.db import models

class Clanak(models.Model):

    naslov = models.CharField(max_length=200)

    tekst = models.TextField()

    datum = models.DateTimeField(auto_now_add=True)

Ovaj model čuva članke u bazi podataka.


View funkcija

Zatim kreiramo funkciju koja prikazuje članke.


from django.shortcuts import render
from .models import Clanak

def index(request):

    clanci = Clanak.objects.all()

    return render(request, "index.html",
                  {"clanci": clanci})
View funkcija povezuje bazu podataka i HTML template.

URL konfiguracija

Sada povezujemo URL sa view funkcijom.


from django.urls import path
from . import views

urlpatterns = [

    path("", views.index, name="index")

]

HTML template

Na kraju pravimo template templates/index.html.


<h1>Lista članaka</h1>

{% for clanak in clanci %}

<h2>{{ clanak.naslov }}</h2>

<p>{{ clanak.tekst }}</p>

{% endfor %}
Rezultat u browseru
Lista članaka Naslov članka Tekst članka

Dodavanje članaka

Članke možemo dodati preko Django admin panela.


http://127.0.0.1:8000/admin

Admin panel omogućava upravljanje svim podacima u aplikaciji.


Dalji razvoj aplikacije

Ovaj projekat možemo dodatno proširiti:

  • dodavanje komentara
  • korisnički profili
  • pretraga članaka
  • API za mobilne aplikacije
Django aplikacije se često razvijaju u više faza i stalno se nadograđuju.

Povezani tutorijali

Ako želite da postavite svoju Django aplikaciju na pravi web server, pogledajte sledeće vodiče:


Često postavljana pitanja

Šta je Django aplikacija?

Django aplikacija je deo projekta koji sadrži funkcionalnost web sajta.

Da li jedan projekat može imati više aplikacija?

Da. Django projekat često sadrži više aplikacija.

Kako dodati podatke u bazu?

Podaci se mogu dodati preko Django admin panela ili formi.

Da li Django može pokretati velike sajtove?

Da. Django se koristi za velike i skalabilne web aplikacije.