bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


django

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
django [2024/01/09 15:08]
enric_mieza_sanchez [ORM, models i migracions]
django [2024/04/07 23:41] (actual)
enric_mieza_sanchez [Versions]
Línia 216: Línia 216:
 Hem de tenir en compte el cicle de vida de les versions de Django que fem servir. Les versions LTS són les //Long Term Service// que ens donaran cobertura durant més temps. Podem veure la [[https://www.djangoproject.com/download/#supported-versions|política de versions a la web de descàrrega de Django]]: Hem de tenir en compte el cicle de vida de les versions de Django que fem servir. Les versions LTS són les //Long Term Service// que ens donaran cobertura durant més temps. Podem veure la [[https://www.djangoproject.com/download/#supported-versions|política de versions a la web de descàrrega de Django]]:
  
-{{django-release-roadmap.png}}+{{https://static.djangoproject.com/img/release-roadmap.4cf783b31fbe.png}}
  
-Ara utilitzarem la 3.2 (LTS) però caldrà tenir cura d'actualitzar a la següent LTS (4.2) abans de que el suport de l'actual 3.2 finalitzi, com a màxim durant el primer trimestre de 2023.+Ara utilitzarem la 4.2 (LTS) però caldrà tenir cura d'actualitzar a la següent LTS (5.2) abans de que el suport de l'actual finalitzi
  
 \\ \\
Línia 256: Línia 256:
   * Afegir ''.env'' al ''.gitignore'' per tal de no pujar per error l'arxiu de variables d'entorn a producció.   * Afegir ''.env'' al ''.gitignore'' per tal de no pujar per error l'arxiu de variables d'entorn a producció.
   * Crear un arxiu d'exemple amb les variables d'entorn necessàries per facilitar la posada en marxa, però enlloc d'anomenar-lo ''.env'', que es diugui ''.env.example''    * Crear un arxiu d'exemple amb les variables d'entorn necessàries per facilitar la posada en marxa, però enlloc d'anomenar-lo ''.env'', que es diugui ''.env.example'' 
 +</WRAP>
 +
 +<WRAP tip>
 +Per fer una llista com ''ALLOWED_HOSTS'' dins el ''.env'' podem seguir [[https://stackoverflow.com/questions/60410625/get-django-allowed-hosts-env-variable-formated-right-in-settings-py|aquest fil amb possibles solucions]]. Potser la més elegant és fer-ho com a list:
 +<file python settings.py>
 +ALLOWED_HOSTS = env.list('ALLOWED_HOSTS')
 +</file>
 +
 +<file env .env>
 +ALLOWED_HOSTS=localhost,127.0.0.1,mysite.com
 +</file>
 </WRAP> </WRAP>
  
Línia 264: Línia 275:
  
 Per utilitzar MySQL caldrà instal·lar els binaris necessaris al sistema operatiu. Per a Ubuntu: Per utilitzar MySQL caldrà instal·lar els binaris necessaris al sistema operatiu. Per a Ubuntu:
-  $ sudo apt install libmysqlclient-dev gcc python3-dev python3-mysqldb+  $ sudo apt install libmysqlclient-dev python3-dev python3-mysqldb gcc pkgconf
  
 I també els connectors del virtualenv de Python: I també els connectors del virtualenv de Python:
Línia 339: Línia 350:
 Django no ha de servir mai arxius estàtics, ja que és menys eficient que el Web Server, que està pensat per a això específicament. El següent diagrama mostra com es durà a terme la posada en producció final: Django no ha de servir mai arxius estàtics, ja que és menys eficient que el Web Server, que està pensat per a això específicament. El següent diagrama mostra com es durà a terme la posada en producció final:
  
-{{diagrama_django_produccio.png?direct}}+{{:django:diagrama_django_produccio.png?direct}}
  
 <WRAP todo> <WRAP todo>
Línia 351: Línia 362:
 Comprova que accedint al panell d'administració ''/admin'' es visualitzen els CSS correctament. Comprova que accedint al panell d'administració ''/admin'' es visualitzen els CSS correctament.
  
-Troubleshooting (possibles errades): +**Troubleshooting (possibles errades):** 
-  * Revisa la configuració de ''mysite.conf'' de Nginx. +  * Revisa que has parat (stop) i inhabilitat Apache (possible col·lisió de ports). 
-  * Revisa l'arxiu ''/etc/polls''+  * Revisa la configuració de ''mysite.conf'' de Nginx. Millor que deixis només activada el //mysite// i desactivis la //default// (links simbòlics)
 +  * Revisa els errors de Nginx amb ''sudo journalctl -xeu nginx.service'' 
 +  * Si no veus el CSS fes CTRL+u , mira el codi font i clica un arxiu CSS aviam quin error et dona. 
 +  * Comprova que has afegit ''STATIC_ROOT = BASE_DIR 'static/''' al ''settings.css'' 
 +  * Comprova que has executat ''./manage.py collectstatic'' i que no dona errors. 
 +  * Si tens un ''Internal Server Error'' probablement hagis fet malament la comanda ''uwsgi'' (hauràs posat mysite.wsgi quan en realitat la teva carpeta es diu diferent de mysite).
  
 <WRAP important> <WRAP important>
Línia 360: Línia 376:
  
 </WRAP> </WRAP>
 +
 +
 +==== Engegant Django app amb Supervisor ====
  
 <WRAP todo> <WRAP todo>
django.1704812920.txt.gz · Darrera modificació: 2024/01/09 15:08 per enric_mieza_sanchez