Python → Python za web → Django web aplikacija – projekat
Praktičan projekat – Django web aplikacija
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.
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})
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 %}
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
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.