0

(たとえば)で実行されているdjangoプロジェクトがありlocalhost:8000ます。

このアドレスに画像がありますlocalhost:8000/static/test.jpg。ユーザーは、この画像を含むページを開くのではなく、その URL に移動することで、この画像だけを開くことができます。

この画像がユーザーのブラウザに読み込まれているかどうかを調べたい (含まれているページを読み込むか、画像の URL を入力するだけで)、そのリクエストのリクエスト オブジェクトを取得したいと考えています。

その特定の画像のためだけにビューにメソッドを含めることはできますか? インターネットで検索しましたが、有用なものは見つかりませんでした。アイデアや解決策はありますか?

4

5 に答える 5

0

ホットリンクを禁止することについて話しているのですか?これは、Django サーバーの前で実行される Web サーバーを使用すると、より簡単かつ効果的に実行できます。

Apache の例については、https://wiki.apache.org/httpd/DisableImageHotLinkingをご覧ください。

于 2013-05-13T10:41:37.190 に答える
0

これは、カスタム ビューで画像を提供することによってのみ実現できます。たとえば、静的リソースを返す独自のビューを作成する必要があり、標準の django 静的ハンドラーは使用しません。

于 2013-05-13T10:49:42.643 に答える
0

あなたの方法はうまくいきますが、トラフィックが多い場合はボットです。その場合XSendFile、Apache で動作するライブラリ witchを使用できます

于 2013-05-27T06:40:37.703 に答える
0

まず第一に、本番環境での静的ファイルの提供は、そもそも Django によって処理されるべきではないことに注意してください。からcontrib/staticfiles/views.py:

静的ファイルを提供するためのビューと関数。これらは開発中にのみ使用するものであり、本番環境では使用しないでください。

これを使用したい場合は、フックするカスタムミドルウェアprocess_viewを作成するかprocess_request、自分の作業を行うことができます.

于 2013-05-13T11:43:21.780 に答える