En aquest tema, explorarem l'estructura d'un projecte Django. Quan crees un nou projecte Django, es generen diversos fitxers i directoris automàticament. Entendre la funció de cadascun d'aquests elements és crucial per treballar eficientment amb Django.

Estructura Bàsica d'un Projecte Django

Quan crees un nou projecte Django amb el comandament django-admin startproject, obtens una estructura de directoris similar a la següent:

myproject/
    manage.py
    myproject/
        __init__.py
        settings.py
        urls.py
        wsgi.py

Descripció dels Fitxers i Directoris

  1. manage.py:

    • Aquest fitxer és una eina de línia de comandes que et permet interactuar amb el projecte Django de diverses maneres. Pots utilitzar-lo per executar el servidor de desenvolupament, crear aplicacions, migrar bases de dades, entre altres tasques.
    • Exemple d'ús:
      python manage.py runserver
      
  2. myproject/:

    • Aquest directori conté la configuració del projecte. El nom del directori és el mateix que el nom del projecte que has especificat durant la creació.
  3. __init__.py:

    • Aquest fitxer buit indica a Python que aquest directori ha de ser tractat com un paquet. És necessari per poder importar mòduls dins del directori.
  4. settings.py:

    • Aquest fitxer conté tota la configuració del projecte, com ara la configuració de la base de dades, les aplicacions instal·lades, la configuració de middleware, entre altres.
    • Exemple de configuració de la base de dades:
      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.sqlite3',
              'NAME': BASE_DIR / "db.sqlite3",
          }
      }
      
  5. urls.py:

    • Aquest fitxer defineix les URL que el projecte pot gestionar i les vistes associades a aquestes URL. És el punt d'entrada per a la gestió de rutes en el projecte.
    • Exemple de configuració d'URL:
      from django.contrib import admin
      from django.urls import path
      
      urlpatterns = [
          path('admin/', admin.site.urls),
      ]
      
  6. wsgi.py:

    • Aquest fitxer és una entrada per a servidors web compatibles amb WSGI per servir el teu projecte Django. És utilitzat en el desplegament del projecte en un servidor de producció.

Creació d'una Aplicació Django

A més del projecte principal, també crearàs aplicacions dins del projecte. Una aplicació és una funcionalitat específica que es pot reutilitzar en diferents projectes. Per crear una aplicació, utilitza el comandament següent:

python manage.py startapp myapp

Això generarà una estructura de directoris similar a la següent:

myapp/
    __init__.py
    admin.py
    apps.py
    models.py
    tests.py
    views.py
    migrations/
        __init__.py

Descripció dels Fitxers i Directoris de l'Aplicació

  1. admin.py:

    • Aquí pots registrar els models perquè apareguin a la interfície d'administració de Django.
    • Exemple:
      from django.contrib import admin
      from .models import MyModel
      
      admin.site.register(MyModel)
      
  2. apps.py:

    • Aquest fitxer conté la configuració de l'aplicació. Django utilitza aquesta configuració per gestionar l'aplicació.
  3. models.py:

    • Aquí defines els models de dades de l'aplicació. Els models són classes que representen les taules de la base de dades.
    • Exemple:
      from django.db import models
      
      class MyModel(models.Model):
          name = models.CharField(max_length=100)
          created_at = models.DateTimeField(auto_now_add=True)
      
  4. tests.py:

    • Aquest fitxer és per escriure proves automàtiques per a l'aplicació. Les proves ajuden a assegurar que el codi funciona correctament.
    • Exemple:
      from django.test import TestCase
      from .models import MyModel
      
      class MyModelTestCase(TestCase):
          def setUp(self):
              MyModel.objects.create(name="test")
      
          def test_model_creation(self):
              obj = MyModel.objects.get(name="test")
              self.assertEqual(obj.name, "test")
      
  5. views.py:

    • Aquí defines les vistes de l'aplicació. Les vistes són funcions o classes que gestionen les sol·licituds HTTP i retornen respostes HTTP.
    • Exemple:
      from django.http import HttpResponse
      
      def index(request):
          return HttpResponse("Hello, world!")
      
  6. migrations/:

    • Aquest directori conté els fitxers de migració de la base de dades. Les migracions són utilitzades per aplicar canvis als models a la base de dades.

Resum

En aquesta secció, hem explorat l'estructura bàsica d'un projecte Django i d'una aplicació Django. Hem après la funció de cada fitxer i directori generat automàticament. Aquesta comprensió és fonamental per treballar eficientment amb Django i per organitzar el teu codi de manera lògica i coherent.

En el següent mòdul, aprofundirem en els conceptes bàsics de Django, començant per les aplicacions Django i l'estructura del projecte.

© Copyright 2024. Tots els drets reservats