1

やあみんな、

Djangoアプリケーションを開発モードで実行しています。プロジェクトの/static/images/ディレクトリに静的ファイルを収集しました。

私のテンプレートでは、サンプル画像をリンクしようとしています。

<img src="{{ STATIC_URL }}items/no_image.jpeg"/>
    {{ STATIC_URL }}items/no_image.jpeg

(一番下の行はデバッグ目的での印刷です)

写真は壊れたリンクで示され、一番下の行は正しいディレクトリを印刷します:

 /static/items/no_image.jpeg

プロジェクト内には、/ static / items/no_image.jpegファイルがあります。

私のsettings.pyには次のものがあります。

STATIC_ROOT = os.path.dirname(__file__)+'/static/'
STATIC_URL = '/static/'

誰か助けてもらえますか?

ありがとうございました !

4

4 に答える 4

3

問題を見つけました。問題は、間違ったディレクトリを使用していたことです。STATIC_URLは、/static/である必要があるときに/site_media/という名前になりました。それを変更すると、すべてが水としてきれいに機能するようになりました...

于 2011-12-13T22:28:44.800 に答える
2

スラッシュの問題だと思います。試す

STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'static')
于 2011-12-12T13:20:56.580 に答える
0

静的ファイルの収集を誤解している可能性があります。collectstatic開発中にコマンドを使用してターゲットディレクトリにそれらを収集する必要はありません。これは、展開のために行われることを意味します。

開発中は、django.contrib.staticfilesアプリを追加するだけで、ここで説明するようにSTATIC_ROOT、STATIC_URL、およびSTATICFILES_DIRSを指定します。

次に、ベースurlconfに、ここで説明するように静的ファイルのurlルールを追加する必要があります。「開発モード」は以上です。

本番モードでは、最初にコマンドを実行しcollectstatic、次に結果のディレクトリをapache(またはnginxなど)が実行されているサーバーに移動し、www.yoururl.com /static/の下でそのディレクトリを提供できるようにします。

djangoでstaticfilesを処理することについての全体的な話は、ほとんど私を悩ませました...そして今日でさえ、それを覚えたり説明したりしようとするとき、私は数分間考えなければなりません。:-/時々混乱しても心配しないでください。

于 2011-12-12T13:47:06.777 に答える
0

私は最近同様の問題を抱えていたと思います。/ static /items/ではなく/static/に画像を直接配置してみてください。/static/items/sample.jpgに直接リンクできるようにする場合は、SETTINGSのSTATIC_ROOTに/ static /items/を追加する必要があります。

于 2011-12-13T18:24:26.037 に答える