def children( self, parent_item: 'TreeItemBase', navigation_type: str, use_template: str, context: Context ) -> str: """Builds and returns site tree item children structure for 'sitetree_children' tag. :param parent_item: :param navigation_type: menu, sitetree :param use_template: :param context: """ # Resolve parent item and current tree alias. parent_item = self.resolve_var(parent_item, context) tree_alias, tree_items = self.get_sitetree(parent_item.tree.alias) # Mark path to current item. self.tree_climber(tree_alias, self.get_tree_current_item(tree_alias)) tree_items = self.get_children(tree_alias, parent_item) tree_items = self.filter_items(tree_items, navigation_type) tree_items = self.apply_hook(tree_items, f'{navigation_type}.children') self.update_has_children(tree_alias, tree_items, navigation_type) my_template = get_template(use_template) context.push() context['sitetree_items'] = tree_items rendered = my_template.render(context.flatten()) context.pop() return rendered
def get_api_key(cls, request): instance = cls() c = Context({'mailchimp_api_key': instance.api_key}) return c.flatten()
def legal(request): attrs = LEGAL | getattr(settings, 'LEGAL', {}) context = Context(attrs) return context.flatten()