簡體   English   中英

如何在django中使用javascript變量,反之亦然?

[英]How to use javascript variables with django or vice versa?

當用戶單擊按鈕時,我嘗試使用JavaScript生成1到132(含)之間的隨機數。

到目前為止,一切都很好,它產生了值,我能夠獲得所需的輸出。

問題:我是在自定義Django過濾器(或任何稱為它的過濾器)中使用生成的值。 讓我用我的代碼更好地解釋一下:

<script type="text/javascript">
    function random_generator()
    {
      var rand = [];
      var i;
      var j;
      var text = "";
      for(i = 0; i < 5; ++i)
      {
        rand[i] = Math.floor((Math.random() * 132) + 1);
        text += rand[i];
      }
      document.getElementById('rand1').innerHTML = text; //Just trying to see if the numbers are generated properly

      var text2 = "{%for i in allb %}{%if i.id == " + text + "|add:0 %}<p>{{ i.name }}</p>{% endif %}{%endfor%}";
      document.getElementById('rand2').innerHTML = text2;
      document.writeln(rand[0]);
    }
  </script>

這是我嘗試做的其他事情:

<div id="b005" class="modal">
    <div id="rand1"></div>
    <div id="rand2"></div>
      {%for i in allb %}
        {%if i.id == **WANT TO USE THE JS VARIABLE HERE**|add:0 %}
          <p>{{ i.name }}</p>
        {% endif %}
      {%endfor%}
  </div>

注意: allb是我從views.py中傳遞的對象

還有其他方法可以做到嗎?

先感謝您 :)

正如Daniel所述,您必須首先了解幕后情況。 django模板僅存在於服務器上,並且所有模板代碼都在該服務器上執行。 就像您在random_generator()腳本中所做的那樣,此模板代碼也可以用於非HTML呈現。

但是瀏覽器僅收到模板的評估版。 因此,無法將django模板代碼(服務器端)與客戶端js進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM