2010-06-16 13 views
8

esta es una pregunta bastante básica (soy nuevo en Django) pero estoy teniendo problemas para usar un conjunto de variables en mi vista dentro de mi plantilla. Si inicializo una cadena o lista dentro de mi vista (es decir, h = "hello") y luego intento llamar dentro de una plantilla:
{{ h }}
no hay salida ni errores. Del mismo modo, si trato de utilizar una variable dentro de mi plantilla que no existe:
Usar las variables de vista de Django dentro de las plantillas

{{ asdfdsadf }} 

no es nuevo no informó de un error. ¿Esto es normal? ¿Y cómo puedo usar mis variables dentro de mis plantillas? ¡Gracias!

Respuesta

22

Para tener acceso a una variable en una plantilla, debe estar en el contexto utilizado para representar esa plantilla. Supongo que no está pasando un diccionario de contexto a la plantilla cuando lo renderiza.

http://docs.djangoproject.com/en/dev/topics/http/shortcuts/#render-to-response

El "diccionario" hace referencia no es un diccionario que contiene todas las variables que desea tener disponible en el contexto. Por ejemplo:

return render_to_response('your_template.html', {'h': h}) 

En lo que respecta al error "sin error" ... Esa es la configuración predeterminada para una variable de plantilla no válida. Puede cambiar eso en la configuración del proyecto si lo desea.

http://docs.djangoproject.com/en/dev/ref/settings/#template-string-if-invalid

3

Sí! Esto es normal. Dichos errores en las plantillas fallan silenciosamente y esto se espera en Django.

para hacer un uso apropiado de plantilla render_to_response('your_template.html', {'h':h}) (también hay un acceso directo desagradable render_to_response('your_template.html', locals()) si su diccionario de contexto es muy grande)

aquí es una explicación con ejemplos: http://www.djangobook.com/en/beta/chapter04/ (sección 'Cómo funcionan las variables válidos son manejados')

Cuestiones relacionadas