javascript - 如何将上下文变量传输到 Django 中的 html 绑定(bind) JavaScript 代码中?

标签 javascript python django django-views

我写下了一个观点:

def Country_names(request):
    c_list = []
    for c_name in c_names:
        c_list.append(c_name)
    return render(request, 'DATAPLO/Country_list.html', {'c_list':c_list})

此 View 在我的 html 模板中进一步将列表/数组传输到模板,它尝试将此 python 变量转换为 javascript 数组变量。

<script>
//variable defined to store "c_list" array 
 var c_names = {{c_list}}
//try to access array items like this
 c_names[0]
</script>

但是他的方法在我的情况下不起作用,我该怎么做,我在网络上探索了dfew类似的线程,但在我的情况下没有任何效果。

谢谢

最佳答案

更新了答案,其中包括国家/地区模型

模型.py:

class Country(models.Model)
    name = models.CharField(max_length=100)

因此,如果您的国家/地区模型如下所示,我们需要将其放入要转换为 json 的字符串列表中。

import json

def Country_names(request):
    c_list = Country.objects.all().values_list('name', flat=True)
    return render(request, 'DATAPLO/Country_list.html', {'c_list':json.dumps(c_list)})

然后以HTML格式输出。请记住将其标记为安全,这样它就不会逃脱

<script>
    //variable defined to store "c_list" array
    var c_names = {{c_list|safe}}
</script>

关于javascript - 如何将上下文变量传输到 Django 中的 html 绑定(bind) JavaScript 代码中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45182311/

相关文章:

JSON 中的 Javascript 正则表达式

python - Django:插入时多对多关系的新记录

python - 在函数内修改全局列表

python - Django admin - TabularInline - 仅显示其他模型中的一些对象

django - React 和 Nginx 在使用 axios 时弄乱了 url,不正确的 API 调用

javascript 读取 JSON 文件后无法迭代数组

javascript - 使用 javascript 从 html 中提取元素

javascript - 如何加载登录 https ://page in a http://Page

python - 如何从 ubuntu 服务器以编程方式登录 Yahoo

python - 如果列值具有字符串,则根据条件对数据框进行子集