Я хочу отсканировать текст с изображения, переданного в форме 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)
Вернуться на верх