bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


django_railway

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ó

Següent revisió
Revisió prèvia
django_railway [2023/05/11 16:14]
enric_mieza_sanchez creat
django_railway [2023/05/12 14:05] (actual)
enric_mieza_sanchez [Setup BD]
Línia 6: Línia 6:
  
 {{https://railway.app/brand/logo-dark.png?200}}{{django-logo.png?200}} {{https://railway.app/brand/logo-dark.png?200}}{{django-logo.png?200}}
 +
 +Referències:
 +  * CLI Railway: https://docs.railway.app/develop/cli
 +  * ...
  
 {{tag> #FpInfor #DawMp07 #DawMp07Uf3 #DawMp07Uf03 #DawMp07Uf4 #DawMp07Uf04 django web api framework rest #Ceti #CetiMp03 #Ciber #CiberMp03 }} {{tag> #FpInfor #DawMp07 #DawMp07Uf3 #DawMp07Uf03 #DawMp07Uf4 #DawMp07Uf04 django web api framework rest #Ceti #CetiMp03 #Ciber #CiberMp03 }}
  
 +\\
 +
 +===== Tutorial bàsic =====
 +
 +Aquest [[https://dev.to/osahenru/using-railway-app-to-deploy-your-django-project-3ah1|tutorial de Django en Railway]] funciona a data de Maig de 2023 amb Django 4.2
 +
 +\\
 +
 +===== Setup BD ====
 +
 +A part de la pujada de codi que hem fet anteriorment, ens faltarà:
 +  - Fer les migracions
 +  - Recollir arxius estàtics
 +  - Crear un superusuari d'inici. [[https://stackoverflow.com/questions/32532900/not-able-to-create-super-user-with-django-manage-py|Aquest post]] ens ajudarà per integrar-ho al Build Command.
 +  - Crear dades de mostra amb Faker o altres que haguem pogut fer.
 +
 +Per realitzar això caldrà anar a
 +  Settings -> Build Command
 +
 +{{railway-build-settings.png}}
 +
 +I hi posarem les instruccions per a que tot funcioni:
 +<WRAP prewrap>
 +  . /opt/venv/bin/activate && mkdir static && python3 manage.py collectstatic && python3 manage.py migrate && DJANGO_SUPERUSER_USERNAME=super DJANGO_SUPERUSER_PASSWORD=P@ssw0rd python3 manage.py createsuperuser [email protected] --noinput
 +</WRAP>
 +
 +Això sí, un cop posat en producció, entra i posa-hi una password més segura.
 +
 +Si hem fet una comanda personalitzada per crear dades amb el Faker, es pot afegir a la comanda indicada més amunt. Per exemple, si has seguit l'exercici [[Django Lliga]] pots afegir la la comanda:
 +  python3 manage.py crea_lliga "Lliga 1a divisió"
 +
 +\\
 +
 +===== Servir arxius estàtics =====
 +Si encara que fem el ''collectstatic'' no ens aparèixen els //static files// (css, imatges, etc.) podem forçar Django a servir-los. No és el més eficient, però per fer un desplegament de prova o de mostra pot ser una solució raonable.
 +
 +[[https://stackoverflow.com/questions/17713703/how-do-you-serve-static-files-when-using-the-django-runserver-development-server|Aquest post explica com servir static files amb Django]].
 +
 +Només cal tocar l'arxiu ''urls.py'' i afegir la darrera línia d'aquest exemple (amb els imports pertinents):
 +
 +<file python urls.py>
 +from django.contrib import admin
 +from django.urls import include,path
 +from django.conf.urls.static import static
 +from django.conf import settings
 +
 +from lliga.views import profile
 +
 +urlpatterns = [
 +    path('admin/', admin.site.urls),
 +    path('myapp/', include('myapp.urls')),
 +    path("accounts/", include("django.contrib.auth.urls")),
 +    path("accounts/profile/", profile, name="profile"),
 +
 +] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
 +
 +</file>
 +
 +\\
  
django_railway.1683821699.txt.gz · Darrera modificació: 2023/05/11 16:14 per enric_mieza_sanchez