Добавить еще один и удалить не показывает django formset что-нибудь я пропустил в html - PullRequest
0 голосов
/ 13 апреля 2020

Я создал набор форм, который отображается в html, но в нем нет добавления, добавления или удаления ссылок. Когда я проверяю консоль. Я также получаю сообщение об ошибке:

custom.min.js:1 Uncaught TypeError: $(...).slimScroll is not a function

at HTMLDocument.<anonymous> (custom.min.js:1)
at c (jquery.min.js:3)
at Object.fireWith [as resolveWith] (jquery.min.js:3)
at Function.ready (jquery.min.js:3)
at HTMLDocument.H (jquery.min.js:3)

Это происходит из-за вышеуказанной ошибки или я что-то упустил в своем коде. Я прилагаю свой код ниже. я уже пытался добавить идентификаторы, которые не работают (внутри l oop).

forms.py

class ImageForm(forms.ModelForm):
    class Meta:
        model = ProductImage
        fields = ('item','images')


ImageFormset = formset_factory(ImageForm)

views.py

class CreateProduct(View):
    def get(self, request):
        form = ProductForm()
        formsetx = ImageFormset(prefix='formsetx')
        context = {
            'form' : form,
            'formsetx' : formsetx,
            'title' : 'Add Product',
            'sub_title' : 'Product',
        }
        return render(request, 'f_supp/add_product.html', context)

add_product . html

<form class="uk-form-stacked" method="POST" action="{% url 'f_supp:add-product' %}" enctype="multipart/form-data">
     {% csrf_token %}
     {{ form.as_p }}

    <table cellpadding="0" cellspacing="0" class="table">
        <tr>
            <th>Images</th>
            <th>Item</th>
        </tr>
        {% for f in formsetx.forms %}
            {{ f.id }}
            <tr class="form_set_rowp5">
                <td>
                    <span class="input1">
                        {{ f.images }}
                    </span>
                </td>
                <td>
                    <span class="input1">
                        {{ f.item }}
                    </span>
                </td>

                <td>{% if f.instance.pk %}{{ f.DELETE }}{% endif %}</td>
            </tr>
            {% endfor %}
        </table>
        {{ formsetx.management_form }}

        </br></br>
        <button class="uk-button uk-button-primary">Submit</button>
</form>

   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
   <script type="text/javascript" src="{% static 'admin/js/jquery.formset.js' %}"></script>
   <script src="{% static 'admin/js/custom.min.js' %}"></script>
   <script type="text/javascript">
   $(document).ready(function(){
        $('.formsetx table tr.form_set_rowp5').formset({
            prefix: '{{ formsetx.prefix }}',
            formCssClass: 'dynamic-formset1',
        }); 
   })
   $("#msgclose").show().delay(2000).fadeOut();
   </script>
   <script type="text/javascript">
        $('.formset_row-{{ formsetx.prefix }}').formset({
           addText: 'add another',
           deleteText: 'remove',
           prefix: '{{ formsetx.prefix }}',
        });
  </script>

Пожалуйста, покажите мне, где я ошибся, чего-то не хватает в html. Вы также можете предложить мне другой метод, похожий на набор форм, который легко выполнять те же операции, что и набор форм.

...