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:
Descripció dels Fitxers i Directoris
-
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
-
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ó.
-
__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.
-
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", } }
-
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), ]
-
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:
Això generarà una estructura de directoris similar a la següent:
Descripció dels Fitxers i Directoris de l'Aplicació
-
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)
-
apps.py:
- Aquest fitxer conté la configuració de l'aplicació. Django utilitza aquesta configuració per gestionar l'aplicació.
-
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)
-
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")
-
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!")
-
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.
Curs de Desenvolupament Web amb Django
Mòdul 1: Introducció a Django
- Què és Django?
- Configuració de l'Entorn de Desenvolupament
- Creació del teu Primer Projecte Django
- Comprensió de l'Estructura del Projecte Django
Mòdul 2: Conceptes Bàsics de Django
- Aplicacions Django i Estructura del Projecte
- Enrutament d'URL i Vistes
- Plantilles i Fitxers Estàtics
- Models i Bases de Dades
- Interfície d'Administració de Django
Mòdul 3: Django Intermedi
Mòdul 4: Django Avançat
- Consultes Avançades amb Django ORM
- Models d'Usuari Personalitzats
- Senyalitzacions de Django
- Proves en Django
- Optimització del Rendiment