У меня есть 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")
модель.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, я пробовал оба, это не имеет значения. Я использую Джанго == 1.11.7
CustomClearableFileInput
? - person DhiaTN   schedule 19.12.2017