#django
Вопрос:
Я не могу понять, как визуализировать набор форм вручную. Я создал набор форм следующим образом: ImageFormset = modelformset_factory(PostImages, fields=('image',), extra=0, can_delete=True)
.
И когда я визуализирую набор форм, я получаю это:
Я хочу избавиться от всего этого текста и написать свой собственный, как мне это сделать?
Комментарии:
1. Отрисованные вручную can_delete и can_order Я не думаю, что это именно то, что вы ищете, но это может вызвать некоторые идеи.
Ответ №1:
я думаю, что вы можете добавить метку в свой набор изображений следующим образом :
ImageFormset = modelformset_factory(PostImages, fields=('image',), extra=0, can_delete=True, labels={'FieldsName': 'CustomFieldName','OtherFieldsName': 'OtherCustomFieldName'}).
Комментарии:
1. Извини, но на самом деле я этого не хочу. Я хочу получить доступ к кнопке «Выбрать файл» в шаблоне
2. Я имею в виду, чтобы получить доступ к этой кнопке следующим образом: {{ форма.поле.кнопка }}
Ответ №2:
Я понял. Все, что нам нужно, это применить виджет к полю изображений:
from django.forms.widgets import FileInput
ImageFormset = modelformset_factory(PostImages, fields=('image',), widgets= {'image': FileInput}, extra=0, can_delete=True)
И визуализируйте форму вот так:
{{ formset.management_form }}
{% for f in formset %}
{% for field in f.hidden_fields %}
{{ field }}
{% endfor %}
<img src="/media/{{ f.image.value}}" style="max-width: 400px;" alt="">
{{ f.image }}
{{ f.DELETE }}
{% endfor %}