'Render a hidden input for each choice plus a blank text input.'

def render(self, name, value, attrs=None):

    output = (u'<div    class="tag-adder    tags%s"' % ('' if (self.read_only or self.async_urls) else '    deferred'))
    if (not self.read_only):
        vocab = [t.name for t in Tag.objects.only('name').all()]
        output += (u'    data-tag-vocab-json="%s"' % escape(json.dumps(vocab)))
    if self.can_create_tags:
        output += u'    data-can-create-tags="1"'
    output += u'>'
    if (not self.read_only):
        output += u'<input    type="submit"    class="hidden-submitter"    />'
    output += u'<ul    class="tag-list'
    if self.read_only:
        output += u'    immutable'
    output += u'">'
    output += self._render_tag_list_items(name, (value or []))
    output += u'</ul>'
    if (not self.read_only):
        input_attrs = self.build_attrs(attrs, type='text', name=name, **{'class': 'autocomplete-tags'})
        output += (u'<input%s    />' % flatatt(input_attrs))
        output += (u'<input%s    />' % flatatt(dict(type='submit', value=_('Add'), **{'class': 'adder'})))
    output += u'</div>'
    return mark_safe(output)
