【发布时间】:2019-01-25 19:41:09
【问题描述】:
我是 Django 的新手,被困在一个似乎不成问题的地方。我正在尝试使用 Python、Django、MySQL 和 Chart.js 制作动态气泡图。我的数据库中存储了组织。他们有一些属性,如姓名、收入、收件人数量等。我将其展示给用户,他可以对其进行过滤(例如,他可以显示收件人数量超过用户指定的组织)。然后我想创建一个显示这些组织的气泡图。我设法做到了,但使用了所有数据库记录(静态解决方案,没有用户交互)。因此,现在在我的气泡图上,我可以看到所有内容,并且我想让它成为动态的 - 依赖于用户输入(仅显示被过滤的组织)。过滤后的数据位于 myuserlist1.html 文件的 filter.qs 中。 现在我在我的views.py中使用下面的代码在定义的URL下以JSON格式保存数据库中的所有记录:
class ChartData(APIView):
authentication_classes = []
permission_classes = []
def get(self, request, format=None):
organizations = Opp.objects.all().values()
data = list(organizations)
return Response(data)
def search(request):
user_list = User.objects.all()
user_filter = UserFilter(request.GET, queryset=user_list)
return render(request, 'user_list1.html', {'filter': user_filter})'''
我用于商店结果的网址:
url(r'^api/chart/data/$', ChartData.as_view()),
这是我的 chart.html 文件的一部分:
<script>
{% block jquery %}
var endpoint = '/api/chart/data/'
var endpoint= form.attr('action')
var dynamicColors = function() {
var r = Math.floor(Math.random() * 255);
var g = Math.floor(Math.random() * 255);
var b = Math.floor(Math.random() * 255);
return "rgb(" + r + "," + g + "," + b + ")";
}
$.ajax({
method: "GET",
url: endpoint,
success: function(data){
//...... some logic there
}
})
</script>
我不知道如何处理它。我想从过滤的数据中制作 JSON 并将其定位在 URL 下,而不是数据库中的所有数据,但我不知道该怎么做。我不知道如何从 View 访问过滤后的查询集。任何帮助,将不胜感激。先感谢您!
【问题讨论】:
标签: javascript python ajax django chart.js