[pyar] Debug de objetos pasados a templates de Django
Iván Raskovsky
raskovsky en gmail.com
Jue Nov 17 11:53:14 ART 2011
2011/11/17 Federico Mendez <mendezfederico87 en gmail.com>:
> On 11/17/2011 12:31 PM, Ramiro Morales wrote:
>
> 2011/11/17 Federico Mendez <mendezfederico87 en gmail.com>:
>
> En URLConf tengo esto...
> ...
> from coltrane.models import Link
>
> link_info_dict = {
> 'queryset': Link.objects.all(),
> 'date_field': 'pub_date',
> }
>
> urlpatterns = patterns('django.views.generic.date_based',
> ...
> ...
>
> url(r'^(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$',
> 'object_detail', #entry available in variable "object"
> link_info_dict,
> 'coltrane_link_detail'),
> ...
> ...
> )
>
> Lo que quiero saber es que hay en el "object" del template...
>
> Si lo que queres es ver el contenido en la página, echale una mirada al
> template tag 'debug', simplemete insertalo en el template
> con un {% debug %}. No lo usé nunca, pero ayer aprndí que
> existe.
>
> Otras posibilidades son suar algocomo la Django debug Toolbar.
> O crear uan vista tuya que reciba el mismo parámetro, lo imprima
> e cosola y llame con el mismo a la vista original
> django.views.generic.date_based.object_detail.
>
> corresponde al object_detail que le paso a traves de
> django.views.generic.date_based.
>
> Otro tema y para dejar claro lo que te comentaba:
>
> django.views.generic.date_based.object_detail es una vista Django.
>
> O sea un callable Pyhton que recibe un request mas parámetros
> (en este caso un parámetro 'object')
>
> En el caso de la vista genérica que estás usando ese callable es
> una función, la función object_detail() que está en el módulo
> django.views.generic.date_based.
>
> El objeto en particular que quiero examinar es object.tags. Cuando pongo {{
> object.tags|wordcount }}
> me devuelve "2", pero si hago un {% if object.tags.count %} blablabla {%
> endif %} esto no me muestra nada... por eso quiero inspeccionar que metodos
> puedo aplicarle al object.tags, o al menos entender por que no puedo usar el
> count. Si pongo solo {{% if object.tags %}} me tira este error:
>
> TemplateSyntaxError:
>
> Caught NoReverseMatch while rendering: Reverse for
> 'coltrane_link_archive_tag' with arguments '('',)' and keyword arguments
> '{}' not found.
>
> Aca esta el codigo del template si a alguien le interesa:
> http://dpaste.com/658059/
>
>
>
>
> --
> # ---- Federico Mendez ----
> #
> # Skype: mendezfederico87
> # Web: http://programmingmate.com
> # CV: http://programmingmate.com/my-cv
> # GitHub: http://github.com/muayguy
> # Linkedin: http://it.linkedin.com/in/mendezfederico
> #
> # ---- Federico Mendez ----
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
Te sugiero revisar https://github.com/codysoyland/django-template-repl
Con esto podés abrir un shell en el medio del template ya sea de
lenguaje "django template" o python.
Igual por el error me imagino que object.tags te genera algún tipo de
link para cada tag y en la generación de ese link es donde está
pinchando. Revisa las instrucciones de como instalar la app, seguro
que está faltando alguna url en urls.py o algo así.
Saludos,
Iván
More information about the pyar
mailing list