Ahora vamos a dedicar este capítulo a los archivos estáticos y al tag url
.
Los archivos estáticos son tus CSS, JSs, fuentes, imágenes, etc.
El tag url
nos es de utilidad para obtener las rutas de aplicaciones.
Los tópicos del capítulo son:
url
Inicia la consola PowerShell y activa el entorno virtual, a continuacion, inicia una instancia de VSC dentro de ProyectoDjango/
.
Finalmente, inicia el servidor.
Si no tienes idea de que acabo de decir, ve al capítulo anterior.
Primero debemos crear esta carpeta, la tenemos que llamar static
ProyectoDjango/
hogar/
peliculas/
static/
<- nuestra carpeta de archivos estaticostemplates/
Dentro de static/
generamos las carpetas comunes:
static/
css/
js/
fonts/
images/
Notese que el usar palabras en ingles es completamente normal y recomendado, ya que es el idioma universal.
Simplemente, dentro de static/css/
creamos un archivo .css, lo llamare, en un alarde de creatividad, style.css
:
1 2 3 4 |
|
Ahora, para usarlo, debemos saber primero en donde lo meteremos.
Es bien sabido que el mejor lugar para importar nuestro css es dentro de base.html
ya que es del que heredaran todos nuestros front-end points.
Así que, dentro de base.html
:
1 2 3 |
|
load
nos permite cargar proveedores de etiquetas.static
es una aplicación de Django que es útil para cargar los estáticos.Ahora, cargamos nuestro css dentro de head
:
1 2 3 4 |
|
También cargare un logo en el navbar:
1 2 3 4 5 6 |
|
Y así es como se cargan los archivos estáticos. Nótese que static
es relativo a la carpeta static/
.
Un F5 a nuestro navegador y deberíamos ver el cambio. Si no es el caso, sigue los siguientes pasos en tu navegador web:
Inspeccionar
en el menú contextual.Los navegadores cachean el contenido para cargar más rápido y para evitar sobrecargar el servidor.
Esto claramente no es útil, ya que cambios que hagamos al front-end quedaran como antes a no ser que limpiemos la cache.
Se utiliza Microsoft Edge para este curso.
Si quieres hacer un @import
dentro de un CSS, deberás usar url("/static/css/archivo.css")
.
Ya tenemos dos aplicaciones, hogar y peliculas. Si estamos en peliculas, naturalmente debería haber un link que nos dirija a hogar.
Esta tarea se consigue mediante la etiqueta url
.
Un ejemplo, dentro de base.html
, bloque header
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
url
es un tag de Django que nos permite obtener la ruta de una vista.url
se le indica 'app_name:path.name'
. Dentro de hogar/urls.py
: 1 2 3 4 5 6 7 8 9 10 11 12 |
|
ProyectoDjango/urls.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Sin estos valores, url
no funcionara, por eso es tan importante indicar estos valores previamente.
Esto puede ser confuso, recomiendo leer los siguientes artículos:
1 |
|
Aunque funcione, luego en producción sufrirás cambiando todos los
a href
a la forma correcta con el tagurl
.