Foros del Web » Programando para Internet » Python »

Imprimir HTML desde view

Estas en el tema de Imprimir HTML desde view en el foro de Python en Foros del Web. Hola. de nuevo por aca. con otra duda que tengo.!!!! incursionando con Mr. Django. Estoy trabajando con una view. y queria pasar una variable a ...
  #1 (permalink)  
Antiguo 07/07/2011, 10:20
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 8 meses
Puntos: 16
Pregunta Imprimir HTML desde view

Hola. de nuevo por aca. con otra duda que tengo.!!!! incursionando con Mr. Django.
Estoy trabajando con una view. y queria pasar una variable a la template que contuviera ya el HTML creado. Algo asi como cuando en php se hace esto:
Código PHP:
Ver original
  1. <?PHP
  2. $a = "<h3>hola";
  3. $a .=" mundo</h3>";
  4. echo $a
  5. ?>
Y al imprimirlo el me imprime el <h3> como una etiqueta html y le da su valor.... intente hacer lo mismo en la view. de django. pero no funciona. sino que imprime el "<h3>hola mundo</h3>" tal cual como texto. y me gustaria saber. si hay una manera de crear contenido html en la view. y que luego al pasarlo a la template e imprimirlo el me reconozca las etiquetas HTML como tal y las imprima???? jeje. todo esto es puesto que por lo q e usado las etiquetas de django no te permiten hacer mas que un if ifequal y ciclos en las templates. Muchas gracais de antemano.
  #2 (permalink)  
Antiguo 07/07/2011, 10:31
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 8 meses
Puntos: 16
Respuesta: Imprimir HTML desde view

jejejjee. no habia usado nunca el HttpResponse :D esa es la respuesta. gracias. iwal.
  #3 (permalink)  
Antiguo 07/07/2011, 11:05
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Imprimir HTML desde view

Deberías de pasarle los datos al template y hacer esas modificaciones en el template.
  #4 (permalink)  
Antiguo 07/07/2011, 11:37
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Imprimir HTML desde view

Estaría bueno que nos comentaras qué es lo que necesitás hacer y que no se puede hacer en la plantilla. En principio el HTML debería estar separado del código Python (la regla vale para cualquier lenguaje), por lo que si bien es posible crear una cadena y enviarla directamente, las plantillas deberían ser el camino a seguir.

Por lo que escribís me parece que has intentado imprimir sin éxito código HTML en las plantillas, quizás lo que te faltó es aprender sobre el filtro safe


Saludos.
  #5 (permalink)  
Antiguo 07/07/2011, 12:45
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 8 meses
Puntos: 16
Respuesta: Imprimir HTML desde view

ok. es para hacer un reporte de impresion. pero necesito calcular la cantidad de lineas y repetir una imagen de encabezado para que me quede al principio de cada pagina., sin contar las validaciones que tengo que hacer para la informacion correspondiente al reporte.... y pues, me parece complejo hacerlo del lado de la template ya que solo (hasta donde se) contamos con {% for %} {% if %} e {% ifequal %}.. no hay whiles. ni nada asi pues.
Yo Tengo todos los codigos HTML apartados de la view. como tambien considero deberia ser. pero para el reporte me parece la solución asi. hacer el HTML desde la view. Gracias. De todos modos si me equivoco. pueden corregirme.
  #6 (permalink)  
Antiguo 07/07/2011, 14:03
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Imprimir HTML desde view

Tu caso es bastante particular. No veo, sin embargo, cómo un while podría ayudarte más que el for que ya está disponible.
¿Has probado combinar el for (que itera sobre tu lista de resultados a mostrar) y forloop.counter? Con eso podrías decirle facilmente que imprima x cosa cuando el counter sea divisible entre N:
Código Python:
Ver original
  1. {% for r in resultados_lista %}
  2.     {% if forloop.counter0|divisibleby:60 %}
  3.     ....
  4.     {% endif %}
  5. {% endfor %}

También quizás quieras probar herramientas específicas para reportes, como django-reports o Geraldo reports (no he probado ninguna de ellas, simplemente son los primeros resultados de la búsqueda de django reports


Saludos.
  #7 (permalink)  
Antiguo 08/07/2011, 07:39
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 8 meses
Puntos: 16
Respuesta: Imprimir HTML desde view

ok. Gracias por la informacion Alvaro G. voy a revisarlo y leer sobre lo de django-reports a ver que tal. Una de las cosas que quiero validar por ejemplo es que al realizar el reporte, pueda verificar lo que se va a imprimir en cada pagina, si es mas de una y pues poner una imagen de encabezado al principio de cada pagina a imprimir. Por ahora lo hice en la view y mando a imprimir con httpResponse, pues lo que se me ocurrio fue poner un contador de lineas, y que al llegar a un tope (ejm 20) se reinicie. cada vez que se reinicie ponga el baner de encabezado...... es alli donde no logro realizar ese tipo de cosas en la template. pues no puedo tampoco declarar variables, iniciarlas o modificarlas. Igual voy a ver la informacion que posteaste. si puedo hacerlo mejor lo arreglo. Gracias!

Etiquetas: django, html, view
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:10.