ローカルに保存された画像をdjangoアプリに表示することはできますか?私は現在、Webサービスと統合されたワークフローを構築しており、ユーザーがアップロードしたデータをローカルで処理し、ローカルに保存する(静的ディレクトリではない)というデータを動的に分析しています。私は現在、静的ディレクトリに表示したい画像を格納するはずですが、静的ではないので、これはあまり効果がありません。ユーザーは処理されたデータをアップロードして削除することができますので、必ずしもそこに存在するとは限りません。ワークフローは現在、Webサービスの外部にありますので、統合することができます。それ自体はおそらく数ヶ月かかるだろうし、私はデモの前に最小限の作業が必要だ)。私は自分がデータをアップロードした後にワークフローの間に作成されたローカルに表示したい画像を持っています。テンプレート化されたHTMLを生成するときには、実際に表示されているパスが実際に表示されます(つまり、それはイメージが私のコンピュータ上でローカルにあるパスで示されている)が、Djangoは以下のエラーを渡します)私は、ローカルの画像を開こうとするとローカル画像をDjango Appに表示
Not Found: /local/path/to/analysis/analysisdirs/img.png
、彼らはうまく表示(ので、彼らは実際に存在します。 djangoが表示されている特定のレンダリングに対してのみそれらを見つけることができるように画像を動的に追加する方法はありますか(つまり、ファイルのバッチを分析した後は一時的に静的パスに追加してから、ファイルは削除されます)?
私は画像が表示されるはずのページに移動すると、altテキストとイメージのためだけの空白がある、と私は、HTMLを見たとき、それは示しています
<img src="/local/path/to/analysis/analysis_dirs/img.png" alt="My Image" height="600" width="700">
はどれまさに私が期待していたものですが、明らかに間違っています。
私は私のsettings.pyに次があります:私は仕事をするだろう期待していた
STATIC_URL = '/local/'
# the directory to place all uploaded graphs and outputs
SERVER_DIR = "/local/"
MEDIA_ROOT = os.path.join(SERVER_DIR, 'input_data')
MEDIA_URL = os.path.join(SERVER_DIR, 'input_data/')
OUTPUT_DIR = os.path.join(SERVER_DIR, 'path/')
DATA_FOLDER = os.path.join(SERVER_DIR, "path")
、それ悲しいかなそれでは、私は期待していますがときということです
:(しません私が呼ん:
template.htmlがありcontext = {'img': '/local/path/to/analysis/analysis_dirs/img.png'}
render(request, 'myapp/mytemplate.html', context)
:
<img src="{{ img }}" alt="My Image" height="600" width="700">
を
私のような何かを行うことができるだろう:
static_media_path += '/local/path/to/analysis/'
特定の分析が実行され
、その後、特定の分析が削除された場合:
static_media_path -= '/local/path/to/analysis/'