gpt4 book ai didi

javascript - 如何在 javascript 中使用从 Django 传递的上下文变量?已经改成Json类型了

转载 作者:行者123 更新时间:2023-12-01 00:05:32 25 4
gpt4 key购买 nike

我想使用 javascript 制作 HTML 表格。现在我已经完成了标题并正确显示。现在我想通过从数据库添加来添加表中的内容。但是,一旦我从创建的 view.py 声明上下文变量,该表就会消失。如何从我制作成javascript的view.py中正确调用数据?我知道它应该是 JSON 风格。我该如何修复它?提前致谢。

views.py

@csrf_exempt
def test(request):
return render(request, 'test.html')

def testJS_page(request):
context_list = {}

customers = Customer.objects.all()
carts = Cart.objects.all().select_related('customer').order_by('customer_id')
goods = Good.objects.select_related('cart__customer').order_by('cart_id')

context_list['Cart'] = carts
context_list['Good'] = goods
context_list['Customer'] = customers
context = {"Customer_status": json.dumps(context_list)}

return render(request, 'test.html', context)

test.js

var customer_status = ({{ Customer_status|safe }});

function createTable() {

var myTableDiv = document.getElementById("myDynamicTable");
var table = document.createElement('TABLE');
var thread = document.createElement('THREAD');
thread.className = "thead-dark";

table.appendChild(thread);
var tr1 = document.createElement('TR');
thread.appendChild(tr1);
var th1 = document.createElement('TH');
var th2 = document.createElement('TH');
var th3 = document.createElement('TH');
var th4 = document.createElement('TH');
th1.appendChild(document.createTextNode("Product"));
th2.appendChild(document.createTextNode("Count"));
th3.appendChild(document.createTextNode("Price"));
th4.appendChild(document.createTextNode("Subtotal"));
tr1.appendChild(th1);
tr1.appendChild(th2);
tr1.appendChild(th3);
tr1.appendChild(th4);

myTableDiv.appendChild(table);
}
createTable();

一旦我编写代码“var customer_status = ({{ Customer_status|safe }});”,似乎出了问题。

最佳答案

我们不能在 .js 文件中使用上下文变量。我们只能在 .html 文件中使用它们。

<小时/>

但是您可以在 .html 文件中执行类似的操作:

<script>
var customer_status = JSON.parse("{{ Customer_status|safe }}");
</script>

然后在您的 .js 文件中使用 customer_status["Good"]

关于javascript - 如何在 javascript 中使用从 Django 传递的上下文变量?已经改成Json类型了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60414573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com