7👍
✅
We can do like below.
Widget
from django import forms
from django.template import loader
from django.utils.safestring import mark_safe
class MyWidget(forms.Widget):
template_name = 'widget_template.html'
def get_context(self, name, value, attrs=None):
return {'widget': {
'name': name,
'value': value,
}}
def render(self, name, value, attrs=None):
context = self.get_context(name, value, attrs)
template = loader.get_template(self.template_name).render(context)
return mark_safe(template)
widget_template.html
<div class="form-group input-group">
<span class="input-group-addon">Name</span>
<input type="text" class="form-control" id="mywidget-{{ widget.name }}" name="{{ widget.name }}" />
</div>
Source:stackexchange.com