D3.js有向图Django积分

2024-04-18 21:58:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个简单的Django应用程序,它查询数据库并显示返回对象的字段。我想知道将this有向图可视化集成到我的项目中的最佳方法是什么;我以前从未使用过d3。在

请允许我解释一下我的申请。目前,它只是一个表单,允许用户通过输入图书的唯一ID来查询数据库中关于图书信息的内容。这个工作很好,内容是通过使用模板来显示的。在

我想做的是使用查询对象的一个字段将数据推送到上面的图示例中,并在按下文本链接时在一个新窗口中显示该图。在

以下是我的应用程序结构:

代码

在myapp.models.py公司名称:

from django.db import models

class Book(models.Model):
    uid = models.IntegerField(primary_key=True)
    title = models.CharField(max_length=30)
    related_books = models.CharField(max_length=2048)
    class Meta:
        db_table = u'books'

字段related_books包含我想用图形表示的数据。数据以rel_book1 rel_book2 rel_book3 ...的格式存储,其中每本书都与所查询的book对象相关,每个对象都有n相关的图书,但至少总是有两本。在

在myproject.templates.search.html文件:

^{pr2}$

所以我想在这里显示图形;当按下文本链接时,在一个新窗口中。在

在myapp.views.py公司名称:

from django.shortcuts import render_to_response
from django.template import RequestContext
from myapp.search import get_query
from myapp.models import Book

def search(request):
    query_string = ''
    found_entries = None

    if ('q' in request.GET) and request.GET['q']:
        query_string = request.GET['q']
        found_entries = Book.objects.filter(uid=query_string)

    return render_to_response('search.html',
                        { 'query_string': query_string, 'found_entries': found_entries },
                          context_instance=RequestContext(request))

所以重申一下,用户为给定的书输入一个唯一的ID,然后显示与该书相关的数据库的内容。在显示ID和title时,我还想显示指向有向图示例的链接。在

所以我的问题是,当查询图书模型时,如何从字段related_books中提取信息,以便将这些数据推送到图形示例中,为生成的每个Book对象生成图形?在

谢谢你对我的款待!在


Tags: 数据对象fromimport图形searchstringmodels
1条回答
网友
1楼 · 发布于 2024-04-18 21:58:06

在我看来你已经掌握了足够的信息。您的视图返回与筛选器匹配的book对象,related_books是book类的成员。在

您只需要通过迭代每本书的related_books属性来动态生成一个链接,例如

{% for book in found_entries %}
# print out whatever results here
<a href="graphing_page.html?contents=
    {% for content in book.related_books %}content{% endfor %}
">Graph this</a>
{% endfor %}

我不确定d3库采用什么参数,但是连接组件的列表似乎是合理的。在

相关问题 更多 >