![](/img/trans.png)
[英]Passing a JSON object from Django to Javascript doesn't work properly
[英]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.