Django 显示用视图创建的 png

我目前正在开发一个项目,我想在其中构建一个可以输入任何 URL 的网站。单击按钮,您应该会获得所请求网站的屏幕截图。此外,还有另一个按钮可以将此 png 调制为 RGB 图像。


几天来,我遇到了一个问题,屏幕截图已生成,但不再显示在我的网站上,而仍然显示旧图像。这是我的 HTML 模板。


<h1> CovertCast </h1>

<form action="" method="post">

    {% csrf_token %}

  <label>url:

    <input type="url" name="deine-url" value="https://">

  </label>

    <button type="submit">Get Screenshot</button>

</form>


{% load static %}

<img src="/media/screenshot_image.png" class="bild"/>


<form action="/modulated.html" method="post">

    {% csrf_token %}


    <button type="submit">Modulate</button>

</form>

<img src="/media/modulated_image.png" alt="abc"/>

我的函数视图如下所示:


def screenshot(request):

    DRIVER = 'chromedriver.exe'


    if request.method == 'POST' and 'deine-url' in request.POST:

        url = request.POST.get('deine-url', '')

        if url is not None and url != '':


            options = webdriver.ChromeOptions()

            options.add_argument('--ignore-certificate-errors')

            options.add_argument('--ignore-ssl-errors')

            driver = webdriver.Chrome(ChromeDriverManager().install())

            driver.get(url)

            img_dir = settings.MEDIA_ROOT

            img_name = ''.join(['screenshot', '_image.png'])

            path = os.path.join(img_dir, img_name)

            if not os.path.exists(img_dir):

                os.makedirs(img_dir)

            driver.save_screenshot(path)

            screenshott = img_name


            

            driver.quit()

            return render(request, 'main.html')

    else:

        

        return render(request, 'main.html')

def modulate(request):


此外,我的应该调制 RGB 图像的视图在 Django 中根本不起作用,即使它在我单独测试时有效。



守着星空守着你
浏览 117回答 1
1回答

MM们

也许screenshott应该是这样screenshot?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python