使用 Django 视图值更新 JavaScript

Update JavaScript with Django view values

在下面的js文件中

'use strict';
$(document).ready(function() {
    buildchart()
    $(window).on('resize', function() {
        buildchart();
    });
    $('#mobile-collapse').on('click', function() {
        setTimeout(function() {
            buildchart();
        }, 700);
    });
});
function buildchart() {
    $(function() {
        var graph = Morris.Donut({
            element: 'chart-pie-moris',
            data: [{
                    value: 60,
                    label: 'Order'
                },
                {
                    value: 20,
                    label: 'Stock'
                },
                {
                    value: 10,
                    label: 'Profit'
                },
                {
                    value: 5,
                    label: 'Sale'
                }
            ],
            ......

我想将 buildchart() 函数中的值更新为我的视图文件函数返回的值。 示例

def order(request):
    a = 'calculated integer value'
    return a

所以我想传入order函数来替换buildchart()函数中的60。 我怎样才能做到这一点?请帮助新手

在JavaScript

中使用Django变量

只是,用" "' '包围Django变量。 喜欢:

<script type="text/javascript"> 
   var a = "{{someDjangoVariable}}";
   var b = "{% url 'someDjangoUrl' %}";
</script>

如果你想在外部js文件中使用访问权限<script> 块内的 html 文件中定义变量。 并在外部 .js 文件中访问它,就像 普通 js 全局变量 :

<script type="text/javascript"> 
   var a = "{{someDjangoVariable}}";
</script>
<script type="text/javascript" href="{% static 
'path/to/your_js_file.js' %}">
// In this file you can have access to the 'a' variable.
</script>