0

モデルフィールドが次のように宣言されたdjango-filebrowserを使用しています

image = FileBrowseField("Image", max_length=200, blank=True, null=True)

テンプレートで画像を使用する

{% version_object obj.image "thumb" as img %}

admin では、filebrowser を使用して、ユーザーはイメージの代わりにディレクトリを選択できます。これが (偶然にも) 発生すると、上記の version_object テンプレート タグは IOError を発生させます: "[Errno 21] Is a directory"。

これは、画像が表示されるページ全体を壊してしまうため、かなり悲惨です。どうやって...

  1. ページを壊すのではなく、テンプレートタグが静かに失敗するようにします。
  2. フィールドに入力するときに、ユーザーが画像以外を選択できないようにしますか?

「SELECT_FORMATS」設定が役立つように思えますが、ドキュメントは不明です。

FileBrowser から要素を選択するためのさまざまなオプションを設定します。

SELECT_FORMATS = getattr(settings, "FILEBROWSER_SELECT_FORMATS", { 'file': ['Folder','Image','Document','Video','Audio'], 'image': ['Image'], 'document' : ['ドキュメント'], 'メディア': ['ビデオ','オーディオ'], })

ファイル/フォルダを選択するためにブラウズ機能を使用する場合、選択を制限するために追加のクエリ属性タイプを使用できます。

この設定が管理インターフェイスにどのように適用されるか (または適用されるかどうか) がわかりません。

4

1 に答える 1

1

フィールドにformat属性を設定してみてください

image = FileBrowseField("Image", format='image', max_length=200, blank=True, null=True)
于 2013-07-19T17:28:57.630 に答える