1

base.cssDjangoでオーバーライドできない理由を理解しようとしています。

settings.pyが持っている:

STATIC_URL = "/site_media/static/"

そしてでsite_base.html

<link rel="stylesheet" href="{{ STATIC_URL }}pinax/css/base.css" />

そして、にあるファイルをカスタマイズしました/site_media/static/pinax/css/base.css。しかし、ここからファイルを読み取る代わりに、python/site-packages/pinaxまだ私のディレクトリからファイルを読み取っています。また、同じsite_base.htmlファイルで、/site_media_static/pinax/images/フォルダー内の画像を上書きできます。これは、CSSファイルではなく画像を上書きできるのは奇妙に思えます。

私が間違っていることについて何か考えはありますか?

4

2 に答える 2

1

STATIC_URL静的ファイルが提供されるURLであり、保存されているディレクトリではありません。

静的ファイルを含むディレクトリをアプリのサブディレクトリに追加するSTATICFILES_DIRSか、静的ファイルをアプリのstaticサブディレクトリに配置する必要があります。

Djangostaticfilesアプリのドキュメントを参照してください。

于 2012-04-12T03:07:10.957 に答える
0

STATIC_ROOT(によって参照されるSTATIC_URL)は手動で変更しないでください。これはcollectstatic、ann appsstaticdirsおよび。からのコマンドによって入力されますSTATICFILES_DIRS。Djangoの開発サーバーには、ソースから直接静的ファイルにアクセスできるヘルパーもあり、JSとCSSのデバッグが簡単になります。

あなたの場合、更新されたファイルをのどこかに置いてみることができますSTATICFILES_DIRS。また、STATICFILES_FINDERS静的ファイルファインダーの順序を変更して、どちらが優先されるかを設定できるかどうかも確認してください。

于 2012-04-12T03:09:54.383 に答える