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): readonly = 'readonly' if attrs.get('readonly', False) else '' name = attrs.get('name', label) if value == None: value = '[0, 0],' 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(readonly, label, name, codes) script = ''' ''' return mark_safe(html+script)