Skip to content

Instantly share code, notes, and snippets.

@quamilek
Created June 15, 2016 08:01
Show Gist options
  • Save quamilek/ad7d58f506c7ead85ea0ede09270b58b to your computer and use it in GitHub Desktop.
Save quamilek/ad7d58f506c7ead85ea0ede09270b58b to your computer and use it in GitHub Desktop.
Show hide block tag DJANGO
from django.template import Node
class ShowHideNode(Node):
def __init__(self, nodelist, token_param_name):
self.nodelist = nodelist
self.token_param_name = token_param_name
def _get_readonly_value_from_context(self, context):
hide = context[self.token_param_name]
return hide
def render(self, context):
hide = self._get_readonly_value_from_context(context)
if hide:
return ''
else:
return self.nodelist.render(context)
@register.tag
def hidereadonly(parser, token, *args, **kwargs):
nodelist = parser.parse(('endhidereadonly',))
parser.delete_first_token()
token_param_name = token.split_contents()[1]
return ShowHideNode(nodelist, token_param_name)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment