簡體   English   中英

將 Django Object 傳遞給 Javascript

[英]Passing a Django Object to Javascript

下面是我的代碼的簡化版本

視圖.py:

context['colorObj'] = Colors.objects.all()

現在在模板上,我可以通過 {{colorObj}} 循環來獲取 object 中的各個值。 但是在 JavaScript 上,情況並非如此。

如果我想將我的 colorObj 分配給一個變量,它就是行不通的(或者我錯了)。 這是我首先認為我應該做的:

JavaScript:

var colorObj = {{colorObj}};

colorObj 的值還是空的,並且 {{}} 上有警告標記。 其他人建議在 Javascript 上使用 "",例如var colorObj = "{{colorObj}}"; 但是 JavaScript 只是把它當作一個簡單的字符串。

其他建議是這樣的:

from json import dumps 
...
colorObj  = Colors.objects.all()
context['colorObj'] = dumps(colorObj)

然后在 JS 上:

var colorObj = {{colorObj| safe}};

但是我得到了一個錯誤Object of type QuerySet is not JSON serializable將錯誤指向轉儲行。

注意,我使用的是 Django3.1.5


盡管我詢問了如何使用這種方法將數據從 db 獲取到 Javascript,但由於它與我的用例匹配,因此我采用了另一種方法。 我為此使用了@Mahdi Firouzjah 的答案。

您可以在模板中使用ajax並在后端使用__ serialize 然后使用 javascript 您可以使用 object。

暫無
暫無

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

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