0
0
テーマ、知りたいこと
djnago のタグはサーバ側で処理され、通常のHTMLに変換され、利用者のウェブブラウザに通常のレスポンスが送出されるかと思います。
そこで疑問があります。
例えばかなり重いクエリセットオブジェクトを渡す場合、HTML内で回す場合には
当然{% for %}を使わなくてはいけませんが、
JS内で処理する場合、{% for %}を使うのか、for(;;)を使うのかの二択になるかと思います。
前者
{% for obj in queryset %} console.log("{{ obj.id }}") {% endfor %}
後者
for (var i = 0; i < "{{ queryset.length }}"; i++){ console.log("{{ queryset.forloop.counter0.id }}") }
上2つでは、速度上の違いは発生するものでしょうか?
結局後者でも各ループにおいてサーバ側で処理しなくてはいけないコンテキストが出現するため、
レスポンスがウェブブラウザに渡るまでの速度に違いは出ないと考えております。
現在システムが肥大化しており、少しでも速度に関連するもの、またはとりあえずレスポンスが少しでも早く渡ることができれば、と考えています。
やはりとりあえずの速度を上げるにはデータの受け渡しの部分を非同期にするしかないでしょうか...
回答4件
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。