Renders the field.

def as_widget(self, widget=None, attrs=None, only_initial=False):
        """
        Renders the field.
        """
        if not widget:
            widget = self.field.widget

        if DJANGO_VERSION > (1, 10):
            # so that we can refer to the field when building the rendering context
            widget._field = self.field
            # Make sure that NgWidgetMixin is not already part of the widget's bases so it doesn't get added twice.
            if not isinstance(widget, NgWidgetMixin):
                widget.__class__ = type(widget.__class__.__name__, (NgWidgetMixin, widget.__class__), {})
        return super(NgBoundField, self).as_widget(widget, attrs, only_initial)