2015-07-13 2 views
1

У меня встроенный набор форм. И я использую django-wysiwyg для установки редактора WYSIWYG на некоторые поля.
Когда страница загружена, все работает отлично. Я использую {% wysiwyg_editor form.worktime.auto_id %} для установки редактора в поле.
Но когда я динамически добавляю еще одну форму в строку inlineformset, редактор не появляется.
Вот форма: Как установить django-wysiwyg в поле встроенного набора форм?

class CommentForm(forms.ModelForm): 

    class Meta: 
     model = Comment 
     fields = '__all__' 

InstitutionDoctorsFromSet = inlineformset_factory(Institution, Doctor, fields='__all__', extra=1) 

И шаблон:

<form class="the_form" enctype="multipart/form-data" method="post"> 
     {% csrf_token %} 
     {{ form.as_p }} 
     {% wysiwyg_editor "id_services" %} 
     <fieldset> 
      <legend>Doctors:</legend> 
      {{ doctor_form.management_form }} 
      {% for form in doctor_form %} 
       {{ form.id }} 
       <div class="inline {{ doctor_form.prefix }}"> 
        {{ form.as_p }} 
        {% wysiwyg_editor form.worktime.auto_id %} 
       </div> 
      {% endfor %} 
     </fieldset> 
     <input class="btn btn-default" type="submit" name="submit" value="Update"/> 
    </form> 

Если я запускаю следующий JS код в консоли браузера - появится редактор: django_wysiwyg.enable('ckeditor', 'id_doctor_set-3-regime'), где id_doctor_set-3-regime является идентификатор поля, что Мне нужен редактор. Но может быть много полей, поэтому мне нужно более гибкое решение.
Я думаю, что мне нужно что-то реализовать, когда загружается formet, или поймать событие, когда добавлена ​​подчиненная форма, но я не знаю, как это сделать.

ответ

1

изменение: {% wysiwyg_editor "id_services" %} на: {% wysiwyg_editor "id_doctors" %}