Im tratando de usar un simple_tag y establecer una variable de contexto. Estoy utilizando la versión maletero de DjangoDjango simple_tag y configuración de variables de contexto
from django import template
@register.simple_tag(takes_context=True)
def somefunction(context, obj):
return set_context_vars(obj)
class set_context_vars(template.Node):
def __init__(self, obj):
self.object = obj
def render(self, context):
context['var'] = 'somevar'
return ''
ésto no establece la variable, pero si hago algo muy similar con @register.tag
que funciona, pero el parámetro objeto no pasa por ...
Gracias!
gracias, eres respuesta fue perfecta y muy apreciado – neolaser
Tenga en cuenta que la versión de desarrollo de Django incluye 'assignment_tag' que es similar a' simple_tag' pero con 'as variablename' implementado: https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#assignment-tags –
Huh, nunca me hubiera encontrado con' assignment_tag' antes. Hábil. Una actualización para futuros lectores: 'assignment_tag' está disponible para su uso en las versiones de Django> = 1.4 (que supongo que estaba en dev cuando se realizó el comentario anterior). – chucksmash