下午好,我需要重命名用户通过表单上传的文件,命名方式为(DSR_“rut”-“name”-“label name(from form)"-0-“extension”)。我已经可以生成车辙的部分、名称和扩展名,但我不知道如何生成标签的名称。例如:如果标签上写着“图像”:(DSR_“rut”-“name”-image-0-“extension”)。
请你帮忙。
要执行此操作,请使用以下命令:
def upload_directory_name(instance, filename):
ext = filename.split('.')[-1]
filename = "DSR_%s_%s_0.%s" % (instance.rut, instance.name, ext)
return os.path.join('uploads',filename)
文件格式如下:
class Candidato_form2(forms.ModelForm):
class Meta:
model = Candidato
fields = [
'certificado_antecedentes',
'hoja_de_vida_conductor',
]
labels = {
'certificado_antecedentes': 'Certificado Antecedentes',
'hoja_de_vida_conductor': 'Hoja de vida del conductor',
}
widgets = {
'certificado_antecedentes': forms.ClearableFileInput(attrs={"multiple":True, 'class':'form-control'}),
'hoja_de_vida_conductor': forms.ClearableFileInput(attrs={"multiple":True, 'class':'form-control'}),
}
1条答案
按热度按时间brc7rcf01#
在
docs
中可以看到,传递给upload_to
的函数只需要两个参数。所以,它是不可能做一个功能,你必须围绕它工作:另外,您的表单有一个问题,即
ValueError: ClearableFileInput doesn't support uploading multiple files.
。因此,从widget attrs
中删除"multiple":True
。