2010-04-12 80 views
5

Quiero dar un valor predeterminado a un área de texto. El código es algo como esto:Cómo generar un salto de línea en la plantilla de Django

<textarea>{{userSetting.list | join:"NEWLINE"}}</textarea> 

donde userSetting.list es una lista de cadenas, se espera que cada elemento de los cuales para mostrar en una línea.

textarea toma el contenido entre las etiquetas como el valor por defecto, conservando sus saltos de línea y no la interpretación de las etiquetas HTML (que significa <br>, \n no funcionará).

He encontrado una solución: {{userSetting.list | join:" " | wordwrap:0}} (no hay espacios en blanco en la lista). Pero obviamente NO es bueno. Cualquier ayuda sería apreciada.

Respuesta

8

Como Chris no vino a recoger el crédito, tengo que responder yo mismo a mi pregunta. (Pero todavía le agradece por señalar the right direction)

La entidad HTML &#10; representa un carácter NEWLINE, y no se interpretará en la plantilla Django. Entonces esto funcionará:

<textarea>{{userSetting.list | join:"&#10;"}}</textarea> 
0

Pruebe a usar "{{userSetting.list | join:" "}}" si
y \ n no funcionan. Que me haga saber cómo le va ...

: P

+3

'& vbCrLf' no es una entidad HTML válida. Pero gracias por apuntar a la dirección correcta: '{{userSetting.list | join: " "}} 'funciona. ¿Podría modificar su respuesta para que pueda marcarlo como aceptado :) – iamamac

+1

Gracias Iamamac, necesito nuevas líneas en