2017-01-27 14 views
3

thisのチュートリアルに従っています。このチュートリアルでは、DjangoでFormsetsを使用する方法を示しています。このチュートリアルでは、django-dynamic-formset JQueryプラグインを使用して、Django管理者のようにフォームセットを編集できるようにしています。django-dynamic-formsetと一緒に使用するDjango Formsetsのリンクが表示されない

のは、私は、フォーム、次のしているとしましょう:私は私は私がフォームセットに別のフォームを追加することができますリンク「の項目を追加」を取得フォームをレンダリングするとき

<form enctype="multipart/form-data" method="post"> 
    {% csrf_token %} 

     {% for place_form in places_formset %} 
      <div class="place_formset"> 
       <div class="required field"> 
        <label>{{ place_form.name.label }}</label> 
        <div class="ui icon input"> 
        {{ place_form.name }} 
        </div> 
       </div> 
      </div> 
     {% endfor %} 

     {{ places_formset.management_form }} 

    <br> 
    <button type="submit">Save changes</button> 

を(JSとjQueryがロードされていることも意味し作業していますが)各フォームのインスタンスを削除するリンクはありません。

Hereインラインフォームセットからのアイテムの削除についての説明がありますが、通常のフォームセットについては何も言及されていません。

1.Iは、しようとしています:ジャンゴダイナミックフォームセットは、「削除」で、すべてのレンダリングのチェックボックスを交換することを考えて、フォームに

{{ place_form.DELETE }} 

私がこれまで行ってきた何

それは起こらなかった。フィールドでフォームフィールドをレンダリングする

PlaceFormSet = formset_factory(PlaceForm, can_delete=True) 

3.Instead私はそれをレンダリングしようとしている:私は明示的なcan_deleteとセットクラスをレンダリングしようとしているが、それは問題を解決しなかった

2.Also {{places_formset}}。この場合、フォームは削除チェックボックスでレンダリングされますが、リンクを削除することはありません。アイテムリンクを追加しても消えました。

削除リンクを有効にするには他に何ができますか?

答えて

1

Django-dynamic-formsetが正しく動作しません。コードを見て、私はリンクを明示的にレンダリングしました:

<a href="javascript:void(0)" class="delete-row">{% trans 'delete' %}</a> 
1

ページが読み込まれたときにフォームセットが非表示になっていますか? jquery.formset.js内の次のステートメントは、フォームが表示された後でもfalseを返します。

if (row.is(':visible')) { 
    insertDeleteLink(row); 
    applyExtraClasses(row, i); 
} 

これが提起されており、問題は私がjquery.formset.js

の私のローカルコピーからif文を削除して解決されるまで未解決の問題 https://github.com/elo80ka/django-dynamic-formset/issues/54

があります

関連する問題