1

我的模型允许上传的“文件名”最大为 255 个字符。如果它不止于此,它会崩溃。我需要的是“类似省略号的东西,即在大约 225 个字符之后的三个点 (...),然后‘显示文件的扩展名’。”

这是我的模型文件中的一小段代码,我觉得这是影响的重点:

class Attachment(models.Model):
file = models.FileField(upload_to=get_upload_path, max_length=256,
        storage=AttachmentsStorage() if AttachmentsStorage else None)

任何帮助将不胜感激。谢谢 :)

4

2 回答 2

2

用于os.path.splitext()拆分扩展:

if len(path) > 255:
    path, ext = os.path.split(path)
    path = path[:252-len(ext)] + '...' + ext
于 2012-09-10T10:56:02.273 回答
1

我认为解决您的问题的一个好方法是重载方法AttachmentsStorage. get_valid_name,它负责转换文件名。

于 2012-09-10T12:41:28.747 回答