3
問題は、django-compressorが.jsファイルにコンパイルするcoffeescriptファイルで参照されたときに{{ STATIC_URL }}
が正しく読み込まれないという問題です。私のDjangoテンプレートで Djangoのテンプレート変数をdjango-compressorで使用する
$('#test').prepend '<img src="{{ STATIC_URL }}images/image.png" />'
を持ってstuff.coffee
で
//this loads fine
{{ STATIC_URL }}
{% load compress %}
{% compress js %}
//STATIC_URL in here does not load
<script type="text/coffeescript" charset="utf-8" src="/static/stuff.coffee" />
{% endcompress %}
を持って次にブラウザでレンダリングされたHTMLは、このように私の質問は、どのように
/static/
<img id="theImg" src="{{ STATIC_URL }}images/image.png">
ですDjangoにcoffeescriptファイルの{{ STATIC_URL }}
を認識させるようにしますか?助けてくれてありがとう!
感謝。どのようにしてテンプレートレンダリングでスクリプトを前処理できますか?私はグーグルでは、短くなった。これは理想的な解決策のようです。私はまたプロパティにSTATIC_URLを割り当てようとしました。しかし、それはコンパイルされたCoffeeScriptコードによって取り上げられることはありません。その理由は、window.staticUrlが既にコンパイルされたCoffeeScriptコードの一部を置き換えることができないからです。 – Alexis
文字列が '' 'で引用されていることがわかりました。つまり、CS'#{} 'スタイルのプレースホルダは評価されません。さて、それは動作するはずです。 'staticUrl'プロパティは、' prepend'呼び出しを発行するときに評価されます。 前処理を最初に行うにはどんなトリッキーが必要かわかりません。 –
ありがとうございました! – Alexis