Django передает model.class в представление

Я очень новичок в django. Я хотел бы загрузить изображение, отобразить его на моей HTML странице. Затем получить некоторые значения и обработать его в соответствии с этими значениями.

Я создал простой класс модели: '''

class Segment_ch1(models.Model):
    title_seg = models.CharField(max_length=200,default='Ch1_seg')
    updated_seg = models.DateTimeField(auto_now=True)
    created_seg = models.DateTimeField(auto_now_add=True)
    segment = models.ForeignKey('Upload_ch1',related_name="%(class)s_Upload_ch1", on_delete=models.CASCADE)
    #segment = models.ForeignKey('Upload_ch1',related_name="+", on_delete=models.CASCADE)
    # explain https://stackoverflow.com/questions/34003865/django-reverse-query-name-clash
    gaus_sigma = models.FloatField(default=20)
    gaus_mode = models.CharField(max_length=200,default='constant')
    truncate = models.FloatField(default=4)
    thresh = models.FloatField(default=0.012)
    min_forground = models.FloatField(default=0.0005)
    max_forground = models.FloatField(default=0.03)
    def __str__(self):
        return str(self.id)
    def save(self,*args,**kwargs):
        #breakpoint()
        image = Image.open(self.segment.image)
        # #pixels = pixels[0,:,:]
        # #use the normalisation method
        img = get_image_intensity(image,self.segment.min_inten,self.segment.max_inten)
        img_gaus, im_thresh, im_sobel, basins, seg=segment_parkin(img,gaus_sigma=self.gaus_sigma,gaus_mode=self.gaus_mode,truncate=self.truncate,disp_smooth_3d=False,thersh_plot=False,thresh=self.truncate,disp_sobol=False,min_forground=self.min_forground,max_forground=self.max_forground)
        im_pil=Image.fromarray(np.uint8(seg))
        #save
        buffer = BytesIO()
        im_pil.save(buffer,format='png')
        image_png_1 = buffer.getvalue()
        self.segment.image.save(str(self.title_seg), ContentFile(image_png_1),save=False)

'''

чем в представлениях, я получаю значения с помощью forms.py. Однако я не уверен, могу ли я использовать класс модели для сохранения файла процесса, а затем вызвать его для отображения в HTML

Вот моя попытка: '''

def Image_segmentation(resquset):
    #im1=Upload_ch1.objects.all()[0]
    #im2=Upload_ch2.objects.all()[0]
    if resquset.method == 'POST':
        ImageForm1_from = ImageForm_c1(resquset.POST)
        ImageForm2_from = ImageForm_c2(resquset.POST)
        if ImageForm1_from.is_valid():
            breakpoint()
            title_form=ImageForm1_from.cleaned_data['title']
            min_form=ImageForm1_from.cleaned_data['min_inten']
            max_form=ImageForm1_from.cleaned_data['max_inten']
            im1=Upload_ch1.objects.get(title="Ch1.tif")
            Upload_ch1().save(image=im1.image,title=title_form,min_inten=min_form,max_inten=max_form)
            #new_img2=
    im1=Upload_ch1.objects.get(title="Ch1.tif")
    im2=Upload_ch2.objects.get(title="Ch2.tif")
    #breakpoint()
    ImageForm1_from = ImageForm_c1(resquset.GET)
    ImageForm2_from = ImageForm_c1(resquset.GET)
    return render(resquset,'Image_segmentation.html',{'ImageForm1_from':ImageForm1_from,'ImageForm2_from':ImageForm2_from,'im1':im1,'im2':im2,})

'''

Upload_ch1().save(image=im1.image,title=title_form,min_inten=min_form,max_inten=max_form) 
'''

Ошибка, которую я получаю:

'''
*** ValueError: The 'image' attribute has no file associated with it.
'''
Вернуться на верх