0

私はそれに頭を包むことができないようです。ウェブサイトは、画像をアップロードするためのフォームをどのように作成し、保存し、サイトに表示するために処理しますか? 私の現在の状況は、画像を保存するdjangoにあります。

4

2 に答える 2

1

一般的に(非常に再開された/単純化された方法で):

  1. Web ページは、ウィジェットを含むフォームをレンダリングします。
  2. アップロードするファイルをブラウザに伝えると、ブラウザはファイルのバイナリ データを保存する Web サーバーへの HTTP リクエストを準備します。
  3. 要求は、TCP 接続を介して Web サーバーに送信されます。
  4. サーバーはリクエストを受け取り、ファイルを見て、それをどうするかを決定します(構成ファイルによって異なります)
  5. 後で、リクエストを処理するプログラムは、サーバーのグローバル変数(またはそのようなもの)に、ファイルで一体何をしたかを尋ねます
  6. サーバーは、保存されたアドレスを提供します
  7. アプリはアップロードされたファイルで残りの仕事をします:)

ジャンゴの場合:

  1. 最初の 3 つのステップは同じです
  2. サーバーはdjangoにファイルをどうするかを尋ねます
  3. settings.pyファイルがメモリにアップロードされるか、ディスク内の一時ファイルにアップロードされるかに応じて
  4. request.FILESアプリケーションは、ビュー内の辞書にアクセスするファイルを処理します
  5. 取得したら、それをモデルやフォームに渡したり、好きなことをしたりできます。

Django ファイルのアップロードについてさらに詳しく知りたい場合は、ドキュメントのこのセクションが非常に役立ちます。あなたはそれを見ることができます。

お役に立てれば!

于 2013-06-03T01:59:13.307 に答える
1

ページに を配置<form>します。テキスト、数値など、さまざまな入力を含めることができfileます。入力もあります。次に、ユーザーがフォームを送信すると、すべてのデータが Web サーバーに送信されます。Web サーバーは基本的に、ファイルをバイト配列として受け取ります。詳細については、こちらをご覧ください。

Django の場合、このデータは で受け取りますrequest.FILES。ユーザーが選択したファイルの名前、サイズ、その他のデータを取得します。その後、ディスクまたはデータベースに保存できます。ここでDjango 固有のものについて読んでください。

于 2013-06-02T21:20:00.963 に答える