Muchas veces nos enfrentamos que los HTML que queremos usar como templates de Django no fueron creados con esa visión previa y por lo tanto tenemos que agregar tags static ellos. Hacerlo a mano resultaría bastante tedioso. Pero usando el sistema de expresiones regulares de VIM es posible hacer esta tediosa tarea automáticamente. A continuación se presentarán los comandos necesarios para poder ahorrarnos horas de trabajo incesario.

Se supone que los CSS se encuentran en un directorio llamado "css", las imágenes en un directorio "images" y los javascripts en un directorio "js".

 

:%s/css\/.*\.css/{% static "&" %}/g
:%s/images\/.*\.\(jpg\|png\|gif\)/{% static "&" %}/g
:%s/js\/.*\.js/{% static "&" %}/g

 La expresión se puede adecuar cambiando el nombre de la carpeta en la cual se encuentran los archivos, además de insertar otras cláusulas. Para entender las expresiones regulares descritas comentaré un poco las mismas.

  • :%s indica que vamos a buscar y sustituir en todo el texto. También se puede aplicar la sentencia s sonbre una áreas seleccionada o un rango de filas.
  • el formato de búsqueda y sustitución es:DONDEBUSCARs/QUEBUSCAR/PORQUESUSTITUIR/g
  • en QUEBUSCAR usamos la expresión regular css\/.*\. Esto nos indica que la cadena debe comenzar con css, que sigue con / pero como / tiene un significado especial le hacemos un escape, indicando que queremos usar el caracter y no su significado \/ posteriormente el puno . significa que buscamos cualquier cosa, y * será una vez o más, seguido de un punto \.
  • en la PORQUESUSTITUIR insertamos el texto {% static "&"%}, donde el caracter & significa que deberemos insertar la cadena que encontramos en la búsqueda inicial.

Esperemos sirva esta instrucción para VIM y Diango y les facilite la vida al editar templates.