# Guia d'Iniciació a Django: Com construir ràpidament el teu primer lloc web
Django és un marc de desenvolupament web Python eficient i potent, adequat per construir aplicacions i llocs web complexos. Aquest marc integra moltes funcions útils, permetent als desenvolupadors construir ràpidament aplicacions robustes. Tant si ets un principiant com si tens certa experiència, Django et pot oferir moltes comoditats. En aquest article, t'ensenyarem, pas a pas, com utilitzar Django per construir el teu primer lloc web.
## 1. Preparació de l'entorn
Abans de començar, assegura't que el teu entorn de desenvolupament té instal·lat Python i pip (l'eina de gestió de paquets de Python). Django necessita Python 3.6 o superior.
### Instal·lar Python i pip
Pots descarregar i instal·lar la versió adequada per al teu sistema operatiu des de [la pàgina oficial de Python](https://www.python.org/downloads/). Un cop instal·lat, comprova les versions de Python i pip a través de la línia de comandes:
```bash
python --version
pip --version
```
### Instal·lar Django
Instal·lar Django a través de pip és molt senzill. Escriu la següent comanda a la línia de comandes:
```bash
pip install django
```
Un cop instal·lat, assegura't que pots trobar la versió de Django a la línia de comandes:
```bash
django-admin --version
```
## 2. Crear un projecte Django
Un cop instal·lat Django, podem començar a crear un nou projecte. Un projecte és l'estructura bàsica de Django, que conté les teves aplicacions i configuracions.
### Crear un projecte
A la carpeta on desitges crear el projecte, executa la següent comanda:
```bash
django-admin startproject myproject
```
Això crearà un nou directori anomenat `myproject`, que contindrà alguns fitxers i una estructura de directoris per defecte.
### Estructura de directoris
Veureu la següent estructura de directoris:
```
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
```
- `manage.py`: Eina de gestió de Django, utilitzada per gestionar el projecte.
- `settings.py`: Fitxer de configuració del projecte, on pots configurar la base de dades, fitxers estàtics, etc.
- `urls.py`: Configuració de rutes URL del projecte.
- `asgi.py` i `wsgi.py`: Configuració d'interfícies per al desplegament.
## 3. Executar el servidor de desenvolupament
A la carpeta del projecte, utilitza la següent comanda per iniciar el servidor de desenvolupament de Django:
```bash
python manage.py runserver
```
Si tot va bé, hauries de poder accedir a la pàgina de benvinguda de Django al navegador a [http://127.0.0.1:8000/](http://127.0.0.1:8000/).
## 4. Crear la primera aplicació
Un projecte Django pot estar format per diverses aplicacions. Cada aplicació és responsable d'un mòdul funcional específic.
### Crear una aplicació
A la carpeta `myproject`, executa la següent comanda per crear una aplicació anomenada `myapp`:
```bash
python manage.py startapp myapp
```
Això crearà un nou directori `myapp` a la teva carpeta de projecte, amb una estructura similar a:
```
myapp/
migrations/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
```
### Modificar settings.py
En `settings.py` registra la teva aplicació. Troba la llista `INSTALLED_APPS` i afegeix `'myapp',`:
```python
INSTALLED_APPS = [
...
'myapp',
]
```
## 5. Crear vistes i plantilles
Django adopta el model MVC, les vistes i les plantilles es complementen mútuament.
### Crear vistes
Defineix una vista senzilla a `myapp/views.py`:
```python
from django.http import HttpResponse
def home(request):
return HttpResponse("Hello, Django!")
```
### Configurar URL
Crea un fitxer anomenat `urls.py` al directori `myapp` i configura les rutes URL:
```python
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
```
Després, importa les URL de `myapp` al `urls.py` del projecte:
```python
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')),
]
```
## 6. Accedeix a la teva pàgina
Ara pots tornar a iniciar el servidor de desenvolupament i accedir a [http://127.0.0.1:8000/](http://127.0.0.1:8000/). Hauries de veure el missatge “Hello, Django!”.
## 7. Afegir suport per a bases de dades
Django utilitza per defecte la base de dades SQLite, però també suporta altres bases de dades com MySQL, PostgreSQL, etc. A continuació es mostra com configurar SQLite.
### Configuració de la base de dades
A `settings.py`, troba la secció `DATABASES`, la configuració per defecte es veu així:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / "db.sqlite3",
}
}
```
Pots modificar-ho segons les teves necessitats per utilitzar una altra base de dades. Per exemple, per utilitzar PostgreSQL:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'yourdbname',
'USER': 'yourusername',
'PASSWORD': 'yourpassword',
'HOST': 'localhost',
'PORT': '5432',
}
}
```
Assegura't d'instal·lar el controlador de base de dades corresponent, per exemple, per a PostgreSQL, necessites instal·lar `psycopg2`.
```bash
pip install psycopg2
```
## 8. Crear models i migrar la base de dades
A continuació, definirem un model senzill i el migraràs a la base de dades.
### Crear model
A `myapp/models.py`, afegeix el següent codi per definir un model senzill:
Generar migracions
Executa la següent comanda per generar fitxers de migració de la base de dades:
python manage.py makemigrations
A continuació, aplica aquestes migracions:
python manage.py migrate
9. Crear una interfície d'administrador
Django ve amb una potent interfície d'administrador, que facilita la gestió de dades.
Crear un superusuari
Crea un compte d'administrador amb la següent comanda:
python manage.py createsuperuser
Afegir models a la interfície d'administrador
Registra els teus models a myapp/admin.py:
from django.contrib import admin
from .models import Item
admin.site.register(Item)
Ara torna a executar el servidor de desenvolupament, visita http://127.0.0.1:8000/admin, inicia sessió amb el superusuari creat, i podràs veure el model que acabes de registrar.
Conclusió
Django és un potent marc de desenvolupament web que pot ajudar-te a construir aplicacions web ràpidament. A través dels mètodes descrits en aquest article, pots configurar fàcilment un simple lloc web de Django i expandir les seves funcionalitats. A mesura que aprofundeixes en Django, pots explorar més característiques avançades, com ara l'autenticació d'usuaris, API RESTful, proves, etc. Esperem que aquesta guia d'introducció pugui ajudar-te a fer el primer pas i començar el teu viatge amb Django!