私はそれに頭を包むことができないようです。ウェブサイトは、画像をアップロードするためのフォームをどのように作成し、保存し、サイトに表示するために処理しますか? 私の現在の状況は、画像を保存するdjangoにあります。
質問する
80 次
2 に答える
1
一般的に(非常に再開された/単純化された方法で):
- Web ページは、ウィジェットを含むフォームをレンダリングします。
- アップロードするファイルをブラウザに伝えると、ブラウザはファイルのバイナリ データを保存する Web サーバーへの HTTP リクエストを準備します。
- 要求は、TCP 接続を介して Web サーバーに送信されます。
- サーバーはリクエストを受け取り、ファイルを見て、それをどうするかを決定します(構成ファイルによって異なります)
- 後で、リクエストを処理するプログラムは、サーバーのグローバル変数(またはそのようなもの)に、ファイルで一体何をしたかを尋ねます
- サーバーは、保存されたアドレスを提供します
- アプリはアップロードされたファイルで残りの仕事をします:)
ジャンゴの場合:
- 最初の 3 つのステップは同じです
- サーバーはdjangoにファイルをどうするかを尋ねます
settings.py
ファイルがメモリにアップロードされるか、ディスク内の一時ファイルにアップロードされるかに応じてrequest.FILES
アプリケーションは、ビュー内の辞書にアクセスするファイルを処理します- 取得したら、それをモデルやフォームに渡したり、好きなことをしたりできます。
Django ファイルのアップロードについてさらに詳しく知りたい場合は、ドキュメントのこのセクションが非常に役立ちます。あなたはそれを見ることができます。
お役に立てれば!
于 2013-06-03T01:59:13.307 に答える
1
ページに を配置<form>
します。テキスト、数値など、さまざまな入力を含めることができfile
ます。入力もあります。次に、ユーザーがフォームを送信すると、すべてのデータが Web サーバーに送信されます。Web サーバーは基本的に、ファイルをバイト配列として受け取ります。詳細については、こちらをご覧ください。
Django の場合、このデータは で受け取りますrequest.FILES
。ユーザーが選択したファイルの名前、サイズ、その他のデータを取得します。その後、ディスクまたはデータベースに保存できます。ここでDjango 固有のものについて読んでください。
于 2013-06-02T21:20:00.963 に答える