Изменять внутреннее состояние объекта опасно, но, похоже, это единственная работа, в противном случае вам придется переопределить HTML-шаблон виджета. Отлично сработано! : +1:

я есть ImageField, который хранится в AWS S3 (аналог FileField). В форме он имеет метку «В настоящее время», которая показывает путь к файлу изображения. Я хотел бы обрезать и просто показать имя файла.

ссылаясь на последний ответ вDjango: настройка значения FileField при редактировании моделиЯ до сих пор не могу заставить его работать.

Он показывает «В настоящее время» с именем файла, например:https://imgur.com/a/xkUZi

form.py

class CustomClearableFileInput(ClearableFileInput):
    def get_template_substitution_values(self, value):
        """
        Return value-related substitutions.
        """
        logging.debug("CustomClearableFileInput %s",value) <-- it never came here
        return {
            'initial': conditional_escape(path.basename(value.name)),
            'initial_url': conditional_escape(value.url),
        }

class CompanySettingEdit(forms.ModelForm):
    display_companyname = forms.CharField(max_length=50, required=True)    
    company_logo = forms.ImageField(widget=CustomClearableFileInput)

    class Meta:
        model = Company
        fields = ("display_companyname","company_logo")

model.py

class Company(models.Model):
    display_companyname = models.CharField(max_length=50)    
    company_logo = models.ImageField(upload_to=upload_to('company_logo/'), blank=True, null=True, storage=MediaStorage())

Как я могу иметь что-то вроде этого: В настоящее время: filename.jpg

К вашему сведению - ImageField / FileField, я пробовал оба, это не имеет значения. Я использую Django == 1.11.7

Ответы на вопрос(1)

Ваш ответ на вопрос