import ast import json from itertools import chain from django import forms from django.utils.safestring import mark_safe from django.utils.html import conditional_escape class SpectralWidget(forms.widgets.TextInput): def render(self, label, value, attrs=None): disabled = 'disabled' if attrs.get('disabled', False) else '' name = attrs.get('name', label) if '[' in value: if value[len(value)-1] == ",": value = ast.literal_eval(value) else: value = value + "," value = ast.literal_eval(value) codes = value if not isinstance(value, list): text='' #lista = [] #if len(value) > 1: for val in value: text = text+str(val)+',' #lista.append(val) codes=text else: codes='' html = ''' '''.format(disabled, label, name, codes) script = ''' ''' return mark_safe(html+script)