2011-10-28 13 views
0

Djangoサイトの一部のページに「件名」、「本文」、「ファイル」フィールドがあるフォームがあります。 "subject"や "body"のパラメータがGETに存在する場合は、サーバー側からフォームにあらかじめ入力しておきます。 "file"フィールドで同じことをやりたいのですが、もっと正確に言えば、request.GETに "URL"パラメータがある場合、このURLからファイルを取り出し、 "file"フィールドにあらかじめ入力してください。DjangoのURLから取得した添付ファイルをフォームにあらかじめ入力してください

私はグーグルで、純粋なJavascriptでもサーバーサイドのヘルプでもこれを実装する方法はまだ分かりません。私の経験からは、ほとんどのブラウザでは不可能です(少なくとも難しい)タイプ= "ファイル"の性質を入力する。

実際には何らかの方法で実装できますか?

答えて

1

ファイルフィールドをあらかじめ入力することはできません。しかし、ユーザーのローカルマシンからではなく、URLからファイルを取得しているので、私はあなたがファイルを使用する必要はないと思います。 URLの通常のテキストフィールドを使用して、フォームが送信された後にファイルサーバー側(たとえば、urllibを使用)を取得してください。

+0

これは私がフォールバックとして考えている変形です。 2つのフィールドとjQueryの助けを借りて、filefieldの振る舞いを模倣することさえ可能です。しかし、最終的には、ファイル用とURL用の2つのフィールドだけで、より簡単なソリューションになりました。 –

1

このようなことを行うほとんどのサイトでは、ファイルを添付する2番目のフォームが実装されています。 ajax経由でアップロードを行うということは、サーバーにファイルを保存する必要があることを意味し、元のフォームはそのファイルへの参照を必要とするだけなので、完了した時点を知ることができます。

次に、いつ削除できるかを知る必要があります。