这是一个关于pyvis图的问题,但也涉及到一个使用sqlite3后端运行的django服务器。我的一个视图需要生成一个交互式pyvis图形,并在客户机浏览器中显示它。我可以不使用django应用程序来完成这一任务,代码如下:
from pyvis.network import Network
network = Network()
network.show('map.html')正如您使用此方法所看到的,pyvis创建一个html文件并首先将其保存到磁盘。nework.show()只是在浏览器中打开文件。因为我将在django view应用程序上运行它,所以我宁愿创建图形的html,而不将其保存到磁盘中,然后在视图的HttpResponse中将其作为字符串返回。是否有可能做到这一点,还是有其他更合适的方式?
发布于 2022-05-11 17:45:56
这样做的一种方法是将pyvis图保存到Django模板目录中的一个文件中。不要使用network.show(),而是使用network.save_graph(path_to_templates_dir/some_pyvis_file.html),然后将该文件包含在模板中,在模板中使用Django标记{% include ‘pvis_graph_file.html’ %}显示结果
views.py
from pyvis.network import Network
from django.conf import settings
network = Network()
...
network.save_graph(str(settings.BASE_DIR)+'app/templates/pvis_graph_file.html')模板/showReport.html
{% extends 'base.html' %}
{% block body %}
Content of Report with pyVis Graphs
{% include 'pvis_graph_file.html' %}
{% endblock %}https://stackoverflow.com/questions/67592384
复制相似问题