python - 在 python/django 中的 html 画布上绘制形状
问题描述
我正在尝试使用 Django 在网页上绘制形状、线条、三角形、矩形。如何做到这一点?下面是我的代码。
视图.py
import tkinter
from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader
def drawchart():
root = tkinter.Tk()
canvas = root.Canvas(root, width=400, height=500)
canvas.pack()
blackline = canvas.create_line (0, 0, 200, 0)
root.mainloop()
return blackline
.html 文件
<!DOCTYPE html>
<html>
<Head>
<title>Line</title>
</Head>
<body>
<h3>test</h3>
<canvas id="myCanvas" width="400" height="500">
{{drawchart()}}
</canvas>
</body>
</html>
解决方案
tkinter
是 Python 绑定到 OS 本机窗口库或 GUI 工具包。您想要实现的目标无法使用它来完成。
要使用canvas
HTML,您需要有用于图形编程的 HTML 库。WebGL是一个 javascript API,它为网页提供图形功能。TheeJS是一个 javascript 库,可用于网页上的图形编程。
WebGL 是一个 javascript API,不需要在您的页面上包含任何其他内容,并且可以通过 vanilla javascript 调用来使用。但是,ThreeJS 要求它的依赖项包含在您的页面中,就像 jquery 或 jquery-ui 一样,然后您也可以利用它。
我希望这个答案能帮助您朝着正确的方向前进。
推荐阅读
- google-chrome-devtools - 网络选项卡显示在页面加载期间,40 毫秒到 120 毫秒之间没有任何反应,但它会继续加载内容
- python - 对于这个价格弹性问题,我如何在 Pyomo 中实施需求约束?
- python - 抓取每个 eBay 列表的有效方法
- c# - 在第三方类上实现自定义哈希码
- javascript - 在 ReactJS 项目中处理 CSS 的准则是什么?
- ios - 如何创建带有图像的 UIScrollView?
- reactjs - 使用 Navbar 和 LinkContainer 的动态链接
- git - 如何仅从父分支推送新更改
- kotlin - 是否有从某个位置在 ArrayList 中搜索的功能?
- google-cloud-firestore - 云数据存储中的 distinct on 子句是什么意思,它如何影响读取?