установить атрибут name в поле формы django - PullRequest
1 голос
/ 28 июня 2011

Я пытаюсь установить атрибут имени в поле выбора формы с помощью django.

Вот что я пытаюсь:

def make_layers_form(dxf_model):
layers = Layer.objects.filter(dxf_file=dxf_model)
choices = [(m[0], m[1]) for m in settings.MACHINING_CHOICES]
fields = {}

for l in layers:
    if l.name.decode() == "0":
        # Si le layer 0 existe on l'associe a la "Coupe"
        init = settings.MACHINING_CHOICES["CUT"]
    else:
        # Par défaut on met la valeur "Aucun"
        init = settings.MACHINING_CHOICES["NONE"]

    fields[l.name] = forms.ChoiceField(choices=choices, initial=init, 
                                       widget=forms.Select(attrs={'name':dxf_model.filename+"_"+str(l.pk)}))


return type('LayersForm', (forms.BaseForm,), {'base_fields':fields})

Когда я наблюдаю за атрибутом name, он не устанавливается должным образом ...

Кроме того, в некоторых случаях я пытаюсь установить значение по умолчанию, но оно не дает никакого эффекта. Есть идеи?

Спасибо за вашу помощь!

UPDATE

Вот пример HTML

 <select name="0" id="3_0">
     <option value="NONE">Aucun</option>
     <option value="CUT">Coupe</option>
     <option value="MARK">Marqueur</option>
 </select>

 ...

 <select name="0" id="4_0">
     <option value="NONE">Aucun</option>
     <option value="CUT">Coupe</option>
     <option value="MARK">Marqueur</option>
 </select>

Каждый тег выбора позволяет привязывать некоторые данные к 2 разным файлам, загруженным ранее

Значение атрибута name происходит от значения label_tag, если я не ошибаюсь.

И значение label_tag - это данные, извлеченные из каждого файла соответственно.

К сожалению, два разных файла могут содержать одно и то же значение, которое извлекается для установки атрибута «имя». Это моя проблема!

Таким образом, я бы определил имя атрибута каждого тега select следующим образом: (имя файла) + "_" + (значение, извлеченное из файла)

Я не знаю, понятны ли мои объяснения ...

Знаете ли вы, почему то, что я пытаюсь, не работает?

Более того, когда я устанавливаю начальное значение, оно не оказывает никакого влияния ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...