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/30 16:32]
enric_mieza_sanchez [Configurar Nginx per a servir arxius estàtics]
django [2024/06/27 13:47] (actual)
enric_mieza_sanchez [Versions]
Línia 13: Línia 13:
  
 Referències: Referències:
 +  * [[django_pres|Presentació de diapositives Django]] en aquesta wiki.
   * Web oficial: https://www.djangoproject.com   * Web oficial: https://www.djangoproject.com
   * El magnífic [[https://docs.djangoproject.com/en/stable/intro/tutorial01/|tutorial de la web oficial]].   * El magnífic [[https://docs.djangoproject.com/en/stable/intro/tutorial01/|tutorial de la web oficial]].
 +  * [[django_lliga|Exemple app Django per gestió d'una lliga de futbol]] en aquesta wiki, molt recomanat fer-ho després d'haver completat el Django Tutorial oficial.
   * Un altre bon [[https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django|tutorial de MDN Mozilla Web Docs]].   * Un altre bon [[https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django|tutorial de MDN Mozilla Web Docs]].
  
 {{tag> #FpInfor #Daw #DawMp07 #DawMp07Uf02 #DawMp07Uf2 #DawMp07Uf02 #Ciber #Ceti #CiberMp03 #CetiMp03 django framework python web DevOps }} {{tag> #FpInfor #Daw #DawMp07 #DawMp07Uf02 #DawMp07Uf2 #DawMp07Uf02 #Ciber #Ceti #CiberMp03 #CetiMp03 django framework python web DevOps }}
- 
  
 \\ \\
Línia 49: Línia 50:
 A l'article [[Python venv]] teniu detalls a fons de com utilitzar aquestes eines. A l'article [[Python venv]] teniu detalls a fons de com utilitzar aquestes eines.
  
-Resumidament, necessitem crear l'entorn virtual, entrar-hi i instal·lar Django:+Resumidament, necessitem crear l'entorn virtual, entrar-hi i instal·lar Django en una versió LTS (x.2): 
 + 
 +<tabbox Versió GNU/Linux>
   $ python3 -m venv env   $ python3 -m venv env
   $ source env/bin/activate   $ source env/bin/activate
-  (env) $ pip install django+  (env) $ pip install django==4.2 
 +<tabbox Versió Windows> 
 +  > python3 -m venv env 
 +  > env\Scripts\Activate.bat 
 +  (env) > pip install django==4.2 
 +</tabbox> 
 + 
 +<WRAP tip> 
 +Si bé el més habitual és tenir el ''virtualenv'' dins la carpeta del projecte, en aquest cas l'hem de tenir a fora forçosament, ja que encara no hem creat l'esquelet. 
 +</WRAP>
  
 \\ \\
Línia 71: Línia 83:
  
 Visita el //admin panel// a ''http://localhost:8000/admin/'' Visita el //admin panel// a ''http://localhost:8000/admin/''
 +
 +Per seguir amb la creació de models, caldrà crear al menys una aplicació dins del projecte Django:
 +  (env) $ ./manage.py startapp myapp
 +
 +Donar d'alta la nova app afegint aquestes línies als arxius:
 +<file pyhton settings.py>
 +# ...
 +INSTALLED_APPS = [
 +    "myapp.apps.MyappConfig",
 +# ...
 +</file>
 +
 +I activar els models a l'admin panel a:
 +<file python admin.py>
 +from django.contrib import admin
 +from .models import *
 +
 +admin.site.register(MyModel1)
 +admin.site.register(MyModel2)
 +# ...
 +</file>
 +
 +Cada cop que modifiquem el model de dades del projecte caldrà afegir:
 +  (env) $ ./manage.py makemigrations
 +  (env) $ ./manage.py migrate
  
 \\ \\
Línia 210: Línia 247:
  
 En algun cas es poden trobar problemes per fer funcionar un projecte, si el sistema operatiu és diferent. En aquests casos potser és millor simplificar el ''requirements.txt'' posant els //packages// imprescindibles i deixar que el propi gestor ''pip'' trobi les dependències. En aquest cas no ho faríem amb el ''pip freeze'', sinó que crearíem el fitxe a mà: En algun cas es poden trobar problemes per fer funcionar un projecte, si el sistema operatiu és diferent. En aquests casos potser és millor simplificar el ''requirements.txt'' posant els //packages// imprescindibles i deixar que el propi gestor ''pip'' trobi les dependències. En aquest cas no ho faríem amb el ''pip freeze'', sinó que crearíem el fitxe a mà:
-  django==3.2+  django==4.2
   django-environ   django-environ
   mysqlclient   mysqlclient
Línia 216: Línia 253:
 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.+A data de juny de 2024 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 368: Línia 405:
   * Si no veus el CSS fes CTRL+u , mira el codi font i clica un arxiu CSS aviam quin error et dona.   * 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 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).   * 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).
  
django.1706632367.txt.gz · Darrera modificació: 2024/01/30 16:32 per enric_mieza_sanchez