Python D3.js有向图Django集成

Python D3.js有向图Django集成,python,django,d3.js,integration,Python,Django,D3.js,Integration,我有一个简单的Django应用程序,它查询数据库并显示返回对象的字段。我想知道将有向图可视化集成到我的项目中的最佳方式是什么;到现在为止,我从未与d3合作过 请允许我解释一下我的申请。目前,它只是一个表单,允许用户通过输入图书的唯一ID来查询有关图书信息的数据库内容。这很好,内容是通过使用模板显示的 我想做的是使用查询对象的一个字段将数据推送到上面的图形示例中,并在按下文本链接时在新窗口中简单地显示此图形 以下是我的应用程序结构: 代码 myapp.models.py: 字段related_bo

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

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

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

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

代码 myapp.models.py: 字段
related_books
包含我希望绘制的数据。数据以
rel_book1 rel_book2 rel_book3…
的格式存储。如果每本书都与查询的图书对象相关,则每个对象都有
n
相关的图书,但至少总是有两本

myproject.templates.search.html: 所以重申一下,用户输入给定书籍的唯一ID,并显示与该书籍相关的数据库内容。在显示ID和标题的那一刻,我还想显示指向定向图示例的链接

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


谢谢你容忍我

在我看来,你已经掌握了足够的信息。您的视图返回与过滤器匹配的图书对象,并且
相关的\u图书
是图书类的成员

您只需通过迭代每本书的
相关的\u 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 %}
{%用于已找到的图书\u条目%}
#在这里打印任何结果
{%endfor%}

我不确定d3库需要什么参数,但是一个连接组件的列表似乎是合理的。

在我看来,您已经有足够的信息了。您的视图返回与过滤器匹配的图书对象,并且
相关的\u图书
是图书类的成员

您只需通过迭代每本书的
相关的\u 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 %}
{%用于已找到的图书\u条目%}
#在这里打印任何结果
{%endfor%}

我不确定d3库需要什么参数,但是一个连接组件的列表似乎是合理的。

作为一个补充,你真的应该使用Django,而不是依赖CharField。@voithos:我会查出来的,伙计。这有点不清楚!什么是示例查询字符串?您使用它的方式(
Book.objects.filter(uid=query\u string)
)只能检索到一本书。你想只画一本书的相关内容吗?顺便说一下,你真的应该用Django而不是CharField。@voithos:我会查出来的,干杯,伙计。这有点不清楚!什么是示例查询字符串?您使用它的方式(
Book.objects.filter(uid=query\u string)
)只能检索到一本书。你想只画一本书的相关内容吗?这是我唯一不明白的。我如何将信息从对象传递到脚本,以便映射它?这是我唯一不明白的事情。如何将信息从对象传递到脚本,以便映射它?
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))
{% 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 %}