Estructura bàsica de projecte Python amb Django en entorn virtual

holaMon/
├── db.sqlite3
├── env/
├── hola/
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── migrations/
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── holaMon_Dy/
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── manage.py
└── venv/

Aquesta estructura cobreix els fitxers i carpetes essencials per a un projecte Django.

Descripció de cada fitxer:

  • db.sqlite3: Aquest fitxer és la base de dades SQLite del projecte. Emmagatzema totes les dades del projecte.
  • env/: Aquesta carpeta conté l’entorn virtual del projecte. Inclou totes les dependències i paquets instal·lats per al projecte.
  • hola/: Aquesta carpeta conté l’aplicació hola. Cada aplicació Django té una estructura similar amb els següents fitxers:
views.py (dins de l'aplicació hola):
from django.http import HttpResponse

def hola_mon(request):
    return HttpResponse("Hola, món!")

urls.py (dins de l'aplicació hola):
from django.urls import path
from . import views

urlpatterns = [
    path('', views.hola_mon, name='hola_mon'),
]
  • init.py: Indica que aquesta carpeta és un paquet Python.
  • admin.py: Conté configuracions per a l’administració de l’aplicació.
  • apps.py: Conté la configuració de l’aplicació.
  • migrations/: Conté els fitxers de migració de la base de dades.
    • init.py: Indica que aquesta carpeta és un paquet Python.
  • models.py: Conté els models de dades de l’aplicació.
  • tests.py: Conté les proves unitàries per a l’aplicació.
  • urls.py: Conté les configuracions de les URL de l’aplicació.
  • views.py: Conté les vistes de l’aplicació.
  • holaMon_Dy/: Aquesta carpeta conté la configuració del projecte principal.
    • init.py: Indica que aquesta carpeta és un paquet Python.
    • asgi.py: Configuració per a l’ASGI (Asynchronous Server Gateway Interface).
    • settings.py: Conté la configuració del projecte.

settings.py (dins del projecte principal holaMon_Dy):

INSTALLED_APPS = [
    'hola',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
  • urls.py: Conté les configuracions de les URL del projecte principal.

urls.py (dins del projecte principal holaMon_Dy):

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hola-mon/', include('hola.urls')),
]
  • wsgi.py: Configuració per al WSGI (Web Server Gateway Interface).
  • manage.py: Aquest fitxer és una utilitat de línia de comandes que permet interactuar amb el projecte Django. Pots utilitzar-lo per executar el servidor, fer migracions, crear aplicacions, etc.
  • venv/: Aquesta carpeta conté l’entorn virtual del projecte. Inclou totes les dependències i paquets instal·lats per al projecte.
  • views.py (dins de l’aplicació hola):pythonfrom django.http import HttpResponse def hola_mon(request): return HttpResponse("Hola, món!")
  • urls.py (dins de l’aplicació hola):pythonfrom django.urls import path from . import views urlpatterns = [ path('', views.hola_mon, name='hola_mon'), ]
  • urls.py (dins del projecte principal holaMon_Dy):pythonfrom django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('hola-mon/', include('hola.urls')), ]
  • settings.py (dins del projecte principal holaMon_Dy):pythonINSTALLED_APPS = [ 'hola', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]

Espero que aquesta descripció t’ajudi a entendre millor l’estructura i el contingut del projecte Django. Si tens qualsevol altra pregunta o necessites més ajuda, estic aquí per ajudar-te!


Com llaço el projecte?