2010-08-14 20 views
36

Estoy tratando de mostrar los primeros 255 caracteres de una descripción en una lista de elementos y estoy buscando un método para obtenerlos.Limite el número de caracteres con el filtro Plantilla Django

Ejemplo: Tengo una variable que contiene aproximadamente 300 caracteres.

me llaman esa variable como este, {{ my_variable|characterlimit:255 }}

y sería devolver sólo los primeros 255 caracteres de esa variable.

Si esta etiqueta no existe, simplemente la crearé (y sugeriré que entre en django), pero quería asegurarme de que no sucediera antes de dedicarme el tiempo necesario para hacerlo. ¡Gracias!

Respuesta

62

Si la "mi_variable" es una cadena, puede aprovechar el slice filter, que trata la cadena como una lista de caracteres. Si se trata de un conjunto de palabras, el equivalente aproximado es truncatewords, pero eso no suena como tu necesidad.

truncatewords también agrega una elipsis ... al final del resultado truncado.

uso sería algo así como

{{ my_variable|slice:":255" }} 
+0

no pude conseguir que esto funcione para una cadena – northben

0

Desafortunadamente no existe. Hay movimientos para implementarlo, pero todavía está en la etapa de diseño (bueno, implementado, pero esperando la decisión de diseño), como se describe en here.

La revisión asociada a ese ticket contiene implementación.

2

Una forma más sencilla mediante el uso de la etiqueta de plantilla estándar es:

{{ variable|stringformat:".10s" }} 

En este caso, el 10 es el argumento de posición y para una cadena es el número máximo de caracteres que se mostrarán.

29

Hay un official built-in filter:

{{ variable|truncatechars:255 }} 
+0

Esto colocará puntos suspensivos ("...") detrás de las cadenas que están truncadas (y no detrás de las que no están truncadas). Slice doe no pone puntos suspensivos detrás de él. Mi consejo: use truncatechars. – MZA

+0

De acuerdo con lo anterior. Esto será correcto en la mayoría de las situaciones (por ejemplo, mostrar una URL larga sin obstruir el hipervínculo). –

Cuestiones relacionadas