Introducció

Django és un framework de desenvolupament web d'alt nivell per a Python que permet construir aplicacions web ràpidament i amb un codi net i pragmàtic. Va ser creat per desenvolupar aplicacions web ràpidament i amb menys codi, seguint el principi de "Don't Repeat Yourself" (DRY).

Característiques Clau de Django

  1. Alt Nivell: Django proporciona moltes funcionalitats integrades que permeten als desenvolupadors centrar-se en escriure la lògica de la seva aplicació en lloc de reinventar la roda.
  2. Seguretat: Django inclou proteccions contra molts errors de seguretat comuns, com ara injeccions SQL, cross-site scripting (XSS), cross-site request forgery (CSRF) i clickjacking.
  3. Escalabilitat: Django està dissenyat per escalar fàcilment, permetent gestionar grans quantitats de trànsit i dades.
  4. Versatilitat: Pot ser utilitzat per a una àmplia varietat de projectes, des de llocs web petits fins a aplicacions web complexes.

Components Principals de Django

Django segueix el patró de disseny Model-View-Template (MVT), que és similar al Model-View-Controller (MVC). A continuació es descriuen els components principals:

  • Models: Representen l'estructura de dades de l'aplicació. Cada model és una classe Python que es tradueix en una taula de la base de dades.
  • Views: Gestionen la lògica de l'aplicació. Les vistes reben les sol·licituds HTTP, processen les dades i retornen les respostes adequades.
  • Templates: Són fitxers HTML que defineixen la presentació de les dades. Utilitzen el motor de plantilles de Django per generar HTML dinàmic.

Avantatges de Django

  1. Desenvolupament Ràpid: Django permet desenvolupar aplicacions web de manera ràpida gràcies a les seves eines i funcionalitats integrades.
  2. Comunitat Activa: Django té una comunitat gran i activa que proporciona suport, documentació i molts paquets reutilitzables.
  3. Documentació Excel·lent: La documentació oficial de Django és molt completa i detallada, facilitant l'aprenentatge i la resolució de problemes.

Exemples Pràctics

Exemple 1: Creació d'un Model

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    published_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

Explicació:

  • title: Un camp de text amb una longitud màxima de 100 caràcters.
  • content: Un camp de text llarg.
  • published_date: Un camp de data i hora que s'estableix automàticament quan es crea l'article.
  • __str__: Una funció que retorna una representació en cadena de l'objecte.

Exemple 2: Creació d'una Vista

from django.shortcuts import render
from .models import Article

def article_list(request):
    articles = Article.objects.all()
    return render(request, 'articles/article_list.html', {'articles': articles})

Explicació:

  • article_list: Una funció que obté tots els articles de la base de dades i els passa a la plantilla article_list.html.

Exemple 3: Creació d'una Plantilla

<!DOCTYPE html>
<html>
<head>
    <title>Article List</title>
</head>
<body>
    <h1>Articles</h1>
    <ul>
        {% for article in articles %}
            <li>{{ article.title }} - {{ article.published_date }}</li>
        {% endfor %}
    </ul>
</body>
</html>

Explicació:

  • La plantilla mostra una llista d'articles amb els seus títols i dates de publicació.

Exercici Pràctic

Exercici: Crea un model Author amb els següents camps:

  • name: Un camp de text amb una longitud màxima de 50 caràcters.
  • email: Un camp de correu electrònic.

Solució:

from django.db import models

class Author(models.Model):
    name = models.CharField(max_length=50)
    email = models.EmailField()

    def __str__(self):
        return self.name

Conclusió

Django és un framework potent i versàtil que facilita el desenvolupament d'aplicacions web segures i escalables. Amb una comunitat activa i una documentació excel·lent, és una opció ideal tant per a principiants com per a desenvolupadors experimentats. En els següents mòduls, explorarem com configurar l'entorn de desenvolupament i crear el teu primer projecte Django.

© Copyright 2024. Tots els drets reservats