Как запросить данные для отображения на графике - PullRequest
0 голосов
/ 24 сентября 2019

Как показать конкретные данные на html-странице, используя chart.js и django. Я пытаюсь использовать этот метод, я могу видеть представление API данных, но не могу видеть на графике.Я могу видеть данные, кроме моего набора запросов.Есть ли какой-нибудь документ для этого.Пожалуйста, помогите мне, я новичок в Джанго, вот мой Views.py

class secondapi(APIView):
    authentication_classes = []
    permission_classes = []


    def get(self, request, format=None):
        qs  = Add.objects.all().aggregate(Sum('budget')) # here is problem 

        labels = ["sum", "Blue", "Yellow", "Green", "Purple", "Orange"]

        default_items = [qs, 23, 2, 3, 12, 2]
        data = {
        "newlabels": labels,
        "newdata": default_items,
        }
        return Response(data)

HTML-страница

  <script>


var endpoint = '/api/chart/data/' 

var labels = [] //
var defaultData = []; // 


$.ajax({
    method: "GET",
    url: endpoint,
    success: function(i){
        labels =            i.newlabels
        defaultData =       i.newdata

        console.log(labels)
    var ctx = document.getElementById('myChart');
      var myChart = new Chart(ctx, {
        type: 'bar',
        data: {
            labels: labels, // CHANGED 
            datasets: [{
                label: '# of Votes',
                data: defaultData,  // CHANGED
            }]

          }
      })
      },
    error: function(error_data){
        console.log("error")
        console.log(error_data)
    }
})
</script>

<div class='col-sm-6'>
    <canvas id="myChart"></canvas>
</div>

</body>
</html>

1 Ответ

0 голосов
/ 24 сентября 2019
def get(self, request, format=None):
    qs  = Add.objects.all().aggregate(Sum('expense'))
    # some = list(qs.keys())
    a = qs.values()


    labels = ["sum", "Blue", "Yellow", "Green", "Purple", "Orange"]

    default_items = [a, 23, 2, 3, 12, 2]
    data = {
    "newlabels": labels,
    "newdata": default_items,
    }
    return Response(data)   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...