0

そのため、より良い解決策を見つけることができないというトリッキーな問題があります。

django-compressorファイルの圧縮/縮小に優れた仕事をするものを使用しています。私が直面している問題は、展開中です。しばらくの間、compressプロダクションでタグを使用しているだけで、すべてのページでカールを実行して、正しい CSS/JS が再生成されるようにします。そのため、新しいユーザーは圧縮プロセスの矢面に立たされる必要がありません。

ファイルを事前に圧縮し、CDN にプッシュして、ランディング ページやログイン ページの舞台裏で事前に読み込むことができる管理コマンドがあることは知っています。

ここに問題があります。一部の JavaScript コードでは、コンテキスト変数と django タグ [カスタムとネイティブの両方] を使用しています。

var first = '{% some_tag some_context_var %}';
var name = '{{some_context_var}}';

これは、圧縮中に明らかに値を持たないタグを実行しようとするため、エラーが発生します。付属していますCOMPRESS_OFFLINE_CONTEXTが、動的ではありません。

以前にこの問題に遭遇した人はいますか。コードがいくつかのdjangoタグ/コンテキスト変数と混在している場合、どのように圧縮を行いますか?

4

1 に答える 1

0

これを解決する方法を見つけました。

基本的に、変数をコンプレッサーの外側にある独自のスクリプト ブロックに移動し、それらの変数を圧縮コード内で使用します。例えば

 <script type="text/javascript">
    var some_var = '{% something ctx_var %}';
 </script>

 {% compress js %}
     //before it was do_something_function('{% something ctx_var %}') 
     do_something_function(some_var); 
于 2013-09-03T19:57:05.813 に答える