0

Grappelli と Filebrowser を併用していますが、ファイル拡張子が大文字 (image.PNG) の画像をアップロードするとバグが見つかりました。末尾が大文字の場合、ファイルブラウザ ページが更新されるたびにサムネイルが作成されます。

filebrowser パッケージでこのメソッドを見つけました。

def handle_file_upload(path, file, site):
    """
    Handle File Upload.
    """

    uploadedfile = None
    try:
        file_path = os.path.join(path, file.name)
        uploadedfile = site.storage.save(file_path, file)
    except Exception, inst:
        raise inst
    return uploadedfile

バグを解決するには、次のようにします。

def handle_file_upload(path, file, site):
        """
        Handle File Upload.
        """

        uploadedfile = None
        try:
            file_path = os.path.join(path, file.name.lower())
            uploadedfile = site.storage.save(file_path, file)
        except Exception, inst:
            raise inst
        return uploadedfile

パッケージファイルを変更せずにこれを行うにはどうすればよいですか? Filebrowser を更新したときに修正が消えないようにしたいです。

そのメソッドだけをオーバーライドできますか? または、信号などを使用する必要がありますか?

4

1 に答える 1

0

クラスメソッドをオーバーライドする方法を説明して答えを出しました。しかし、それは間違っています...変更したいのはクラスメソッドではありません。

最善の選択肢は、プロジェクトの github にブランチを作成してから、プル リクエストを作成し、その理由を説明することだと思います。彼らがあなたの意見を共有すれば、彼らはプル リクエストを受け取り、上書きについて心配することなく続行できます。

https://github.com/sehmaschine/django-filebrowser

于 2014-05-15T13:59:09.830 に答える