9

私は現在クライアントのポートフォリオ サイトを構築していますが、1 つの小さな領域で問題が発生しています。ポートフォリオ アイテムごとに複数の画像 (さまざまな数) をインラインでアップロードできるようにしたいのですが、明確な方法がわかりません。

私が見ることができる最もユーザー フレンドリーな方法は、ユーザーが必要に応じてフィールドを追加できるようにする JavaScript コントロールを備えたファイル アップロード フォームです。このような問題を経験した人はいますか? 実際、私の問題を解決するカスタム ライブラリはありますか?

これまで管理ツールを変更する必要はほとんどなかったので、どこから始めればよいかわかりません。

光を当てることができる人に感謝します。

4

2 に答える 2

9

Javascript を使用すると、Admin インターフェイスを非常に簡単に拡張できます。ちょっとした jQuery マジックを使って、やりたいことを正確に実行するための優れた記事があります。

彼のすべてのコードを 1 つの Javascript ファイルに入れ、admin.py に以下を含めるだけです。

class Photo(admin.ModelAdmin):
    class Media:
        js = ('jquery.js', 'inlines.js',)

彼のソースを見ると、リンクを動的に追加して Javascript を使用してインラインを追加する必要がありますが、それは非常に簡単です。

$(document).ready(function(){
    // Note the name passed in is the model's name, all lower case
    $('div.last-related').after('<div><a class="add" href="#" onclick="return add_inline_form(\'photos\')">');
});

すべてが正しく見えるようにスタイリングを行う必要があるかもしれませんが、それは正しい方向への出発点となるはずです。

また、あなたは陸上にいるので、インラインソートスニペットinlineをチェックしてください。

于 2009-05-29T11:36:35.297 に答える
9

photologueは、django 用の機能豊富な写真アプリです。たとえば、ギャラリーを zip ファイルとしてアップロードしたり (ある意味では、一度に複数のファイルをアップロードすることを意味します)、さまざまなカスタム サイズのサムネイルを自動的に作成したり、画像に効果を適用したりできます。1 つのプロジェクトで 1 回使用しましたが、統合はそれほど難しくありませんでした。

于 2009-05-29T10:26:07.110 に答える