问题描述
我正在尝试使用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'),]