捕获图像并使用django将其保存到数据库

问题描述

我正在尝试使用django创建一个Web应用程序,在该应用程序中,它单击相机中的图像并将其保存到数据库中。如何实现?如果有可用的源代码,请共享一个链接。谢谢

解决方法

我来这里是为了寻找答案;没有一个,我在此提供我的...

技巧是对图像进行编码并将其另存为 TextField

我提供的解决方案在每次加载 select_image.html 时读取图像的方式都有些笨拙,但是我这样做是因为我的要求有点复杂,并且可以完成这项工作。我假设您知道如何从相机获取图像(相当于我从文件读取图像)。

有两个模板, select_image.html display_image.html 。首次调用 select_image.html 时,它将从文件中读取 .png 图像,并将图像保存到数据库中。选择图像后,将从数据库中检索它并显示在 display_image.html 中。

select_image.html

if (html.window.navigator.cookieEnabled)

display_image.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Select Image</title>
</head>
<body>
    <h1>Select Image</h1>

    {% block content %}
        <ul>
            {% for image in images %}
                <li><a href="display-image/{{ image }}">{{ image }}</a></li>
            {% endfor %}
        </ul>
    {% endblock %}
</body>
</html>

models.py

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Display Image</title>
</head>
<body>
    <h1>Display Image</h1>

    {% block content %}
        <img id="image" src="{{ image }}" alt="image">
    {% endblock %}
    <p></p>
    <a href="/users/images">Images</a>
</body>
</html>

urls.py

class Image(models.Model):
    name = models.CharField(max_length=25,null= False,blank=False,default='image_name',unique=True)
    image = models.TextField()

views.py

urlpatterns = [
    path('images',views.Images.as_view(),name='images'),path('display-image/<str:image_name>/',views.DisplayImage.as_view(),name='display-image'),]