1

私のモデルでは、アップロードされる「ファイル名」のサイズは最大 255 文字です。それ以上だとクラッシュします。私が必要としているのは、「省略記号のようなもの、つまり 225 文字の後に 3 つのドット (...) を付けてから、ファイルの拡張子を表示する」ことです。

これは、私のモデル ファイルの小さなコードです。これが影響のポイントだと思います。

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、ファイル名の変換を担当する method をオーバーロードすることだと思います。

于 2012-09-10T12:41:28.747 に答える