diff --git a/colab/widgets/templatetags/widgets_tag.py b/colab/widgets/templatetags/widgets_tag.py index cb6ddbc..a2576bd 100644 --- a/colab/widgets/templatetags/widgets_tag.py +++ b/colab/widgets/templatetags/widgets_tag.py @@ -1,5 +1,6 @@ from django import template from colab.widgets.widget_manager import WidgetManager +from django.template import Template register = template.Library() @@ -9,5 +10,10 @@ register = template.Library() def import_widgets(context, area_id, widget_var=None): if not widget_var: widget_var = "widgets_{}".format(area_id) + context[widget_var] = WidgetManager.get_widgets(area_id, context=context) + + for widget in context[widget_var]: + widget.content = Template(widget.content).render(context) + return "" diff --git a/colab/widgets/widget_manager.py b/colab/widgets/widget_manager.py index ea938fd..6ccfb38 100644 --- a/colab/widgets/widget_manager.py +++ b/colab/widgets/widget_manager.py @@ -28,7 +28,7 @@ class Widget(object): head = self.content[start + len(''):end] return mark_safe(head) - def generate_content(self, **kwarg): + def generate_content(self, **kwargs): self.content = '' @@ -50,11 +50,11 @@ class WidgetManager(object): WidgetManager.widget_categories[category].remove(widget) @staticmethod - def get_widgets(category, **kargs): + def get_widgets(category, **kwargs): if category not in WidgetManager.widget_categories: return [] widgets = WidgetManager.widget_categories[category][:] for widget in widgets: - widget.generate_content(**kargs) + widget.generate_content(**kwargs) return widgets -- libgit2 0.21.2