Почему виджет Django FileInput никогда не выводит значение? Является ли это риском для безопасности?

В исходном коде (link) для Django Widgets ясно, что FileInput не выводит значение:

# django.forms.fields
class FileInput(Input):
    input_type = 'file'
    needs_multipart_form = True
    template_name = 'django/forms/widgets/file.html'

    def format_value(self, value):
        """File input never renders a value."""
        return

Это отличается от других полей, таких как CharField, которое возвращает начальную строку:

# django.forms.fields
def format_value(self, value):
    """
    Return a value as it should appear when rendered in a template.
    """
    if value == '' or value is None:
        return None
    if self.is_localized:
        return formats.localize_input(value)
    return str(value)

Почему так? Это означает, что если вы зададите значение default в FileField, оно не будет отображено, что может сбить пользователя с толку. Является ли это проблемой безопасности?

value все равно отображается, если пользователь ранее загрузил файл (я предполагаю, что через ModelField, а не FormField?), поэтому я не вижу разницы?

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