我目前正在开发一个项目,我想在其中构建一个可以输入任何 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 中根本不起作用,即使它在我单独测试时有效。
MM们
相关分类