Я хочу отсканировать текст с изображения, переданного в форме django, в tesseract ocr в views.py и передать результат в html-шаблон.
Я использую фреймворк django и хочу отсканировать текст с изображения, переданного в форме, в tesseract ocr в views.py и передать результат в html шаблон. Я все еще не знаю, как считать это изображение из формы, не отправляя его в базу данных. Прошу вашей помощи Я использую django 4.0.2 в виртуальной среде. моя версия python 3.10.2
Мой forms.py
from django import forms
class uploadform(forms.Form):
first_name= forms.CharField(max_length=100)
image= forms.ImageField(max_length=100)
Мой html-шаблон
{% extends 'hm.html' %}
{% block content %}
<br>
<h1>Here you are able to make Uploads</h1>
<form class="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p}}
{{text}}
<button type="submit" name="button" class='btn btn-primary'>Upload your image</button>
</form>
<p>{{imge}}</p>
{{k}}
{{h}}
{% endblock %}
Мой файл urls.py имеет следующий вид
from django.contrib import admin
from django.urls import path, include
from scannerapp import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('',views.home_view,name='home'),
path('new/',views.upload, name="uppath"),
]
if settings.DEBUG:#This is just for development purposes, dont use it in production
urlpatterns+=static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
my views.py
from django.shortcuts import render, redirect
from django.http import HttpResponse,JsonResponse
from django.views.generic import FormView
from .forms import uploadform
from django.views.decorators.csrf import csrf_exempt
from django.core.files.storage import FileSystemStorage
import json
import pytesseract
from PIL import Image
def upload(request):
form= uploadform()
first_name=""
myimg=""
context={'form': form}
if request.method == 'POST'and form.is_valid=="True":
submitbutton= request.POST.get("submit")
t="am request Post is passed"
#if form.is_valid():
p="form validation is passed"
form= uploadform(request.POST or request.FILES)
first_name= form.cleaned_data.get("first_name")
myimg= form.cleaned_data.get("image")
print(first_name)
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
#mym=Book._meta.get_field('cover')
text = pytesseract.image_to_string(mym, lang='eng')
#redirect('home')
context={'form': form, 'firstname': first_name,'imge':myimg, 'k':t,'h':text}
return render(request,'new.html',context)