1

Web デザイン アプリ (axure) によって設計された django アプリのテンプレートがあります。したがって、これらのテンプレート ファイル内のすべての静的ファイル参照は、次のように相対的です。

<img src="/resources/image/icon.gif"/>

https://docs.djangoproject.com/en/dev/howto/static-files/の指示に従って、アプリの設定を変更して静的ファイルを含め、STATIC_URL を修正しました。ただし、その方法では、このトークン{{ STATIC_URL }}をすべての静的ファイル参照の前に配置する必要があります。

django がこれらの静的ファイルへの相対パスを受け入れるようにする一般的な方法はありますか?

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

4

2 に答える 2

4

それは「相対的な」道ではありません。それは「相対絶対」と呼ばれるものです。を付加する場合/。ドメインから直接次のパスを参照するようにブラウザに指示します。これはDjangoとは何の関係もありません。それはブラウザと関係があり、それらはすべてそのように機能します。

特別なことは何もありません{{ STATIC_URL }}。これは、静的ファイルへの参照に正しいパスのプレフィックスを付けるための簡単で安全な方法です。実際には、HTMLに完全なURLをハードコーディングできます。

<img src="/path/to/static/resources/image/icon.gif"/>

ただし、STATIC_URLが変更された場合は、運が悪いことになります。そのため、を使用します{{ STATIC_URL }}。これにより、「/ static /」または「http://cdn.someprovider.com/myproject/something-else/static/」に設定されていても、参照は常に機能します。

長くも短くも、いや、「一般的な方法」はありません。ファイルを見つけることができる場所をブラウザに正確に伝える必要があり、それにはを使用する必要があります{{ STATIC_URL }}

于 2012-02-06T17:20:48.420 に答える
0

nginx のようなバックエンドを使用している場合は、/staticimage を /path/to/static/resources/image/ を指すように設定してから、/staticimage を使用できます。

使用している Web サーバーには、このようなパス マッピングを指定できると確信しています。

于 2012-02-06T17:23:29.933 に答える