Utilizzare Django con React è un modo efficiente per creare applicazioni web. Django è un framework web di alto livello scritto in Python che incentiva un design pulito e una metodologia di sviluppo rapido, mentre React è una libreria JavaScript per la creazione di interfacce utente.
Ecco come usarli insieme:
Prima di tutto, devi installare sia Django che React. Puoi installare Django con il comando `pip install django`, e puoi installare React con il comando `npm install -g create-react-app`.
Una volta installati Django e React, devi creare un nuovo progetto Django con il comando `django-admin startproject myproject`. Poi, all’interno della cartella del progetto Django, creare un’app Django con `python manage.py startapp myapp`.
Ora, creiamo un’app React all’interno del nostro progetto Django. Per creare l’app React, passare alla directory del progetto Django e utilizzare il comando `npx create-react-app myreactapp`.
Una volta creata l’app React, il prossimo passo è configurare Django per utilizzarla. In Django, le response HTML solitamente vengono create utilizzando i template Django, ma poiché stiamo utilizzando React, dobbiamo dire a Django di servire l’app React.
Per fare questo, dobbiamo prima fare il build dell’app React. Nella directory dell’app React, eseguire il comando `npm run build`. Questo comando crea una cartella ‘build’ con file statici.
Poi, devi dire a Django di servire questi file statici. Per farlo, aggiungi il percorso alla cartella ‘build’ in settings.py file di Django. Devi anche aggiungere ‘DIRS’: [BASE\_DIR / ‘myreactapp’ / ‘build’] al tuo TEMPLATES.
In urls.py del tuo progetto Django, aggiungi un URL per servire la tua app React. Potrebbe assomigliare a questo:
```
urlpatterns = [ …
path(‘’, TemplateView.as_view(template_name=‘index.html’)), …]
```
Questo dice a Django di servire l’app React quando qualcuno visita il tuo sito web.
Infine, devi installare il pacchetto `django-webpack-loader`. Questo pacchetto permette a Django di utilizzare il bundle JavaScript generato da webpack. Puoi installarlo con `pip install django-webpack-loader`, e poi aggiungilo alla tua impostazione `INSTALLED_APPS`.
Quindi, con questa configurazione, Django servirà l’app React, e avrai accesso a tutti gli vantaggi di Django come sistema di autenticazione, ORM ecc., e al contempo sarai in grado di utilizzare le potenti funzionalità di React per creare interfacce utente dinamiche e moderne.
Riferimenti:
1. https://www.digitalocean.com/community/tutorials/how-to-build-a-modern-web-application-to-manage-customer-information-with-django-and-react-on-ubuntu-18-04
2. https://www.valentinog.com/blog/drf/
3. https://blog.logrocket.com/creating-an-app-with-django-and-react/
4. https://www.django-rest-framework.org/