2017-01-27 2 views
3

다음은 this 자습서에 따라 장고에서 Formsets 작업 방법을 보여줍니다. 이 튜토리얼은 Django admin에서와 같이 formets의 편집을 가능하게하는 django-dynamic-formset JQuery 플러그인을 사용합니다. . 나는 나에게 해당 formset에 또 다른 형태를 추가 할 수 있습니다 링크 "항목 추가"얻을 양식을 렌더링 할 때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 인라인 서식 세트에서 항목을 삭제하는 것에 대한 설명이 있지만 일반 서식 세트에 대해서는 아무 것도 없습니다.

{{ place_form.DELETE }} 

형태로 "제거"모든 렌더링 체크 박스를 대체 할 것이다 장고 - 동적 해당 formset 생각 :

1.I 포함하는 것을 시도했다 : 내가 지금까지했던

그러나 그것은 일어나지 않았다.

2.Also 내가 명시 적 can_delete 설정 클래스를 렌더링하는 시도했지만 그것은 문제가 해결되지 않은 : 나는 그것을 렌더링하는 시도 필드에 의해 양식 필드를 렌더링

PlaceFormSet = formset_factory(PlaceForm, can_delete=True) 

3.Instead을 {{places_formset}}. 이 경우 양식은 h 제 체크 상자로 렌더링되지만 링크 제거로 대체되지는 않습니다. 항목 링크를 추가해도 사라졌습니다.

링크를 제거하려면 어떻게해야합니까?

답변

1

Django-dynamic-formset이 올바르게 작동하지 않습니다. 코드를 살펴본 후에 나는 명시 적으로 링크를 렌더링했습니다 :

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

페이지가로드 될 때 formset이 숨겨져 있습니까? 그렇다면 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

가되었습니다

관련 문제