0

GAE Blobstore を使用して、Django アプリの画像をアップロードおよび提供しています。管理者ユーザーは、イメージを Django モデルにラップし、Imageこのモデルの標準的な管理機能 (追加、更新、削除) を提供することで、メンテナンスを利用できます。

実際のアップロードを実行するchange_form.htmlために、Image モデルのテンプレートを変更{{ form_url }}し、 {{ blobstore_url}}. のを{{ blobstore_url }}オーバーライドすることによって設定されます。render_change_formImageAdmin

を呼び出すとcreate_upload_url("/admin/some/url")、GAE Blobstore のアップロード機能へのエンコードされた URL が取得され、関数の引数 ("/admin/some/url") は実際には、アップロードの完了時に GAE/Blobstore がリダイレクトする URL であることに気付きました。

質問とはあまり関係ありませんが、最初のアプローチで値を上書きしただけ{{ form_url }}ですが、フォームのアクションが設定されていないため、機能していないようです。他の場所で上書きされるか、無視されます。

これは機能しますが、主な欠点は、このアプローチでは、モデル イメージの必要な追加または変更を処理できるビューとして「admin/some/url」を実装する必要があることです。これは、デフォルトの管理者としてのコードの重複です。これらの機能をサポートしています。

私の質問はcreate_upload_url()、アップロードの完了後に Image モデルの検証とデータベース更新の標準的な管理機能を実行するために渡す正しい URL は何でしょうか?

編集

または、デフォルトの管理操作 (挿入や更新など) が完了した後にアップロードを実行する方が良いかもしれません...

4

1 に答える 1