1

ですから、私はこの1時間壁に頭をぶつけてきましたが、テンプレートがレンダリングされたときに静的メディア(CSS、画像、JSなど)がない理由を理解できないようです。誰かが私が調整を行う必要がある理由を見つけるのを手伝ってくれませんか?以下は、Settings.py、Index.html、およびスタイルシートのスニペットです。さらに必要な場合はお知らせください。

私の静的ファイルは次のディレクトリにあります:/ djangoproject / website / static

Settings.py    -  Located /djangoproject/djangoprojectname/
STATIC_ROOT = os.path.normpath(os.path.join(PROJECT_ROOT,
"/static/"))

STATIC_URL = '../website/static/'

これは、{{STATIC_URL}}を使用してcssスタイルシートを呼び出すことになっている私のindex.htmlからのスニペットです。

Index.html  - Location /djangoproject/website/templates/  
<link rel="stylesheet" href="{{ STATIC_URL }}css/style.css">

CSSスタイルシートの場所

style.css - Location /djangoproject/website/static/css/
4

2 に答える 2

2

Djangoドキュメントから:

{{STATIC_URL}}がテンプレートで機能していない場合は、テンプレートのレンダリング時にRequestContextを使用していない可能性があります。

簡単に復習すると、コンテキストプロセッサはすべてのテンプレートのコンテキストに変数を追加します。ただし、コンテキストプロセッサでは、テンプレートをレンダリングするときにRequestContextを使用する必要があります。これは、汎用ビューを使用している場合は自動的に発生しますが、手動で記述されたビューでは、RequestContextを明示的に使用する必要があります。これがどのように機能するかを確認し、詳細を確認するには、サブクラス化Context:RequestContextを確認してください。

于 2012-10-12T20:14:57.320 に答える
1

パスをURLに設定する必要があるときに、パスを設定STATIC_URLしているように見えます。これを、cssファイルを含むフォルダーのWebアドレスに設定する必要があります。次に例を示します。

STATIC_URL = 'http://mydomain.com/static_files/'

ブラウザに予想されるアドレスを入力して、CSSファイルをオンラインで見つけてください。この方法でCSSファイルを見つけたら、そこに到達したルートURLをコピーするだけです。

于 2012-10-13T04:00:55.557 に答える