Как создать изображение PNG со страницы HTML и сохранить его в базе данных, используя Django? - PullRequest
1 голос
/ 06 марта 2020

Я новичок в django. Таким образом, в основном я создал вид карты на своей странице HTML.

Когда я нажимаю кнопку загрузки, создается файл изображения (PNG) карты HTML (как в точности показано на рисунке) и сохранил его в базе данных. Загруженный образ должен находиться в папке media / cardimage в проекте django. Изображение показано ниже. (Снимок экрана) изображение карты HTML код показан ниже

Как мне решить эту задачу ?? Помощь от anynone очень ценится.

Спасибо.

<div class="container">
        <div class="col" >
            <div class="col-lg-4 d-flex align-items-stretch" >
                <div id="html-content-holder" class="card rounded-lg shadow bg-white rounded" style="width: 25rem; width: 50vw; margin:auto;">
                    <div class="overlay">
                        <img class="card-img-top" src="{% static 'images/ab_nba_040320.jpg' %}" alt="Card image cap">
                    </div>
                    <!-- Card content -->
                    <div class="card-body">
                        <!-- Title -->
                        <div style="text-align: left;">
                            <h4 class="card-title font-weight-bold align-left">
                                <p style="font-size: 80%;">NBA: Davis sparks Lakers over Sixers with hot second quarter, LeVert hits career-best 51pts as Nets beat Celtics
                                    <a id="btn-Convert-Html2Image" class="fa fa-download" aria-hidden="true" style="cursor: pointer;" title="Download"></a>
                                </p>
                            </h4>
                            <!-- Text -->
                            <p class="card-text" style="font-size: 85%;">Anthony Davis produced a devastating burst of scoring, as the Los Angeles Lakers came from behind to defeat the Philadelphia 76ers 120-107 on Tuesday (March 3) in their National Basketball Association (NBA) game.
                                He led the Lakers' surge with 37 points at the Staples Centre after the hosts recovered from a slow start to run out convincing winners.</p>
                            <p style="font-size: 70%; opacity: 30%;">Published Date: 05 Mar 2020</p>
                        </div>
                        <img class="" style="width: 30%; height: auto; margin-bottom: -5%;" src="{% static 'images/cover.png' %}" alt="Card image cap">
                    </div>
                </div>
            </div>
        </div>
    </div>

1 Ответ

2 голосов
/ 06 марта 2020

Если вы хотите сохранить содержимое контейнера в HTML, вы можете использовать HTML с Canvas, например:

$(function() { 
    $("#btnSave").click(function() { 
        html2canvas($("#widget"), {
            onrendered: function(canvas) {
                theCanvas = canvas;


                canvas.toBlob(function(blob) {
                    saveAs(blob, "Dashboard.png"); 
                });
            }
        });
    });
});

Проверьте полный пример на скрипке http://jsfiddle.net/6FZkk/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...