Как отобразить значение по умолчанию для models.FileField() в шаблоне CreateView?

Как отобразить значение по умолчанию для models.FileField()? (ref)

class MyModel(models.Model):
    myfile = models.FileField(upload_to='mydocs', default='myfile.txt')

FieldField имеет недокументированную возможность, которая позволяет установить значение по умолчанию с помощью default=. Это ссылка на существующий файл, обычно в корне static.

Виджет формы по умолчанию для этого поля - ClearableFieldInput (ref), который использует django/forms/widgets/clearable_file_input.html в качестве шаблона:

{% if widget.is_initial %}{{ widget.initial_text }}:
    <a href="{{ widget.value.url }}">{{ widget.value }}</a>
    {% if not widget.required %}
        <input type="checkbox" name="{{ widget.checkbox_name }}" id="{{ widget.checkbox_id }}">
        <label for="{{ widget.checkbox_id }}">{{ widget.clear_checkbox_label }}</label>
    {% endif %}<br>
    {{ widget.input_text }}:{% endif %}
<input type="{{ widget.type }}" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %}>

Однако, если установлено default (initial пустое), значение по умолчанию не отображается в шаблоне, что может запутать зрителя. Они думают, что поле пустое, а затем на create() устанавливается значение по умолчанию.

Я предполагаю, что значение default не передается в шаблон? Если да, то как я могу изменить FileField, чтобы передать его?

Если нет, то как я могу сослаться на него?

Вернуться на верх