#python #django #shapes
#python #django #фигуры
Вопрос:
Я пытаюсь нарисовать фигуры, линии, треугольники, прямоугольник на веб-странице с помощью Django. Как этого добиться? Ниже приведен мой код.
views.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>
Комментарии:
1. Кажется, вы путаете серверный и клиентский код. К сожалению, HTML5 canvas и tk canvas не имеют ничего общего.
2. Я хочу рисовать и обслуживать фигуры на html canvas, используя представления django
3. Пожалуйста, отметьте ответ принятым, если он вам помог.
4. @Abbas Вместо этого я переключился на использование SVG
5. @KapishM: Я думаю, было бы неплохо опубликовать ваше решение в качестве ответа на ваш собственный вопрос.
Ответ №1:
tkinter
является ли Python привязкой к оконным библиотекам операционной системы или инструментарию GUI. То, чего вы хотите достичь, не может быть сделано с его помощью.
Чтобы играть с canvas
в HTML, вам необходимо иметь библиотеки HTML для графического программирования. WebGL — это javascript API, который предоставляет графические возможности веб-страницам. THEJS — это библиотека javascript, которая может использоваться для программирования графики на веб-страницах.
WebGL, являющийся javascript API, не требует включения чего-либо еще на вашу страницу и может быть использован с помощью ванильных вызовов javascript. Однако ThreeJS требует, чтобы его зависимости были включены на вашу страницу, точно так же, как jquery или jquery-ui, и тогда вы также можете использовать это.
Я надеюсь, что этот ответ поможет вам двигаться в правильном направлении.
Ответ №2:
Используйте html canves в шаблонах django или в представлениях. Tk предназначен только для настольных приложений. Не удается использовать tk на веб-сайтах или в представлениях django или в шаблонах django.Используйте html, cs, js для создания веб-сайтов. Думаю, это помогает.