bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


django_heroku

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_heroku [2022/02/21 18:47]
enrique_mieza_sanchez [Preparant el nostre projecte Django per a deplegament a Heroku]
django_heroku [2022/03/07 18:30] (actual)
enrique_mieza_sanchez [Afegint una BD PostgreSQL]
Línia 24: Línia 24:
   (env) $ pip freeze > requirements.txt   (env) $ pip freeze > requirements.txt
  
-Crearem un ''Procfile'' a l'arrel del projecte, un arxiu propi de Heroku (d'una sola línia) que li diu com ha de posar en producció al nostra aplicació:+Crearem un ''Procfile'' a l'arrel del projecte, un arxiu propi de Heroku (d'una sola línia) que li diu com ha de posar en producció la nostra aplicació:
  
 <file txt Procfile> <file txt Procfile>
Línia 81: Línia 81:
 ===== Afegint una BD PostgreSQL ===== ===== Afegint una BD PostgreSQL =====
  
-Si posem una DB sqlite com ve per defecte en Django tindrem el problema de que al fer un nou desplegament destruirem la BD antiga. Per evitar aquest problema ens cal una BD externa a Heroku on poder emmagatzemar dades.+Si posem una DB sqlite com ve per defecte en Django tindrem el problema de que [[https://devcenter.heroku.com/articles/sqlite3|al tenir Heroku un sistema d'arxius efímer, i que es destrueix cíclicament, sabem que la BD es destruiria en menys en 24 hores]]. Per evitar aquest problema ens cal una BD externa a Heroku on poder emmagatzemar dades.
  
-Hem vist en el tutorial que si volem afegir una BD Postgre, la nostra aplicació disposarà de les credencials a la variable d'entorn ''DATABASE_URL'' del tipus:+Hem vist en el tutorial de Heroku que si podem afegir una BD PostgreSQL així: 
 +  $ heroku addons:create heroku-postgresql:hobby-dev
  
 +la nostra aplicació disposarà de les credencials a la variable d'entorn ''DATABASE_URL'' del tipus:
   DATABASE_URL=postgres://usuari:password@servidor:port/dbname   DATABASE_URL=postgres://usuari:password@servidor:port/dbname
  
  
-Per tal de poder configurar adequadament Django i carregar les credencials, hi diversos //packages// de PIP que ens no resolen: +<WRAP important> 
-  - Utilitzar el [[https://github.com/kennethreitz/dj-database-url|package dj-database-url]] instal·lable via ''pip''+En versions anteriors calia configurar expressament ''DATABASE_URL'' en ''settings.py'' amb alguns packages extra de ''pip'' com [[https://github.com/kennethreitz/dj-database-url|dj-database-url]] [[https://django-environ.readthedocs.io/en/latest/|django-environ]]
-  - Utilitzar el [[https://django-environ.readthedocs.io/en/latest/|package django-environ]] instal·lable via ''pip''.+ 
 +A partir de cert moment ja no cal fer cap modificació per carregar ''DATABASE_URL''. 
 +Simplement, fem un ''export'': 
 +  $ export DATABASE_URL=postgres://usuari:password@servidor:port/dbname 
 +  (env) $ ./manage.py migrate 
 +  (env) $ ./manage.py runserver 
 + 
 +i arrencar Django. Quan trobi la variable farà un override del què digui DATABASES i agafarà ''DATABASE_URL'' com la BD primària. 
 +</WRAP> 
  
 \\ \\
  
django_heroku.1645469234.txt.gz · Darrera modificació: 2022/02/21 18:47 per enrique_mieza_sanchez