Как ввести изображение, которое уже отображается в html?
Я работаю с приложением для веб-камеры и пытаюсь интегрировать его во фреймворк Django.
Вот функция, которая делает фото (это javascript в папке static):
// play sound effect
shutter.play();
// take snapshot and get image data
Webcam.snap( function(data_uri) {
// display results in page
document.getElementById('results').innerHTML =
'<img id="imageprev" src="'+data_uri+'"/>';
} );
document.getElementById("camera").outerHTML = "";
Webcam.reset();
}
Это фрагмент из моего шаблона:
<div id="camera"></div>
<button onclick="takeSnapShot()" type="button" id="button1" class="button-1">Take Picture</button>
<form action="" enctype="multipart/form-data" method="POST">
{% csrf_token %}
<div name="results" id="results"></div>
<div class="button-2">
<button type="submit" href="/">Pateikti</button>
</div>
</form>
После того, как фотография сделана, она отображает изображение внутри < div > тега, id которого "results" И теперь я хочу сохранить сделанную фотографию. Я попробовал метод POST, но когда я делаю это, шаблон перезагружается, и изображение теряется. Поэтому я думаю, что именно поэтому я получаю это окно ошибки. Также обычно метод POST используется, когда вы хотите сохранить файлы на вашем сервере, которые клиент загружает, поэтому я не уверен, что это лучший способ сделать это
Итак, мой вопрос: существует ли метод сохранения изображения на сервер из шаблона? Или я неправильно использую метод POST? Я не хочу использовать PHP, так как я еще новичок в программировании
views.py для дополнительного кода:
from django.shortcuts import render
from .models import photo
from django.core.files.storage import FileSystemStorage
import datetime
# Create your views here.
def index(request):
if request.method == 'POST':
file=request.FILES['imageprev']
fs=FileSystemStorage()
filen = fs.save(datetime.datetime.now(), file)
return render(request, 'index.html')
else:
return render(request, 'index.html')
models.py:
from django.db import models
class photo(models.Model):
file = models.FileField(upload_to='file')
Надеюсь, моя проблема понятна, если нет, пожалуйста, попросите больше информации. Я с радостью ее предоставлю.