Добавление страницы редактирования фотографий в приложение галереи изображений django с помощью Python

У меня есть приложение галереи изображений на Django, которое имеет страницу загрузки изображения и отправляет фотографию на страницу галереи. Также есть страница редактирования фотографии, где я хочу отобразить загруженное изображение и отредактировать его, а затем отправить отредактированную фотографию на страницу галереи. Как сделать так, чтобы загруженное изображение отображалось и на странице загрузки изображения, и на странице редактирования?

views.py # форма загрузки для страницы добавления изображения (с именем addartifact)

def addartifact(request):
    if request.method == 'GET':
        form = EditorForm()
        return render(request=request,template_name='addartifact.html', context={'form': form})

    if request.method == 'POST':
        form = EditorForm(request.POST)
        if form.is_valid():
            imgtitle = form.cleaned_data['imgtitle']
            imgdesc = form.cleaned_data['imgdesc']
            image = form.cleaned_data['image']
            artifact = Artifact.objects.create(imgtitle=imgtitle, imgdesc=imgdesc, image=image)
        return HttpResponseRedirect(reverse('landingpage'))

views.py #загружает изображение на страницу

def image_upload_view(request):
    """Process images uploaded by users"""
    if request.method == 'POST':
        form = ImageForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            # Get the current instance object to display in the template
            img_obj = form.instance
            return render(request, 'addartifact.html', {'form': form, 'img_obj': img_obj})
            
    else:
        form = ImageForm()
    return render(request, 'addartifact.html', {'form': form})

forms.py

class ImageForm(forms.ModelForm):
    """Form for the image model"""
    class Meta:
        model = Artifact
        fields = ('artifact_id', 'imgtitle', 'imgdesc', 'image')

class EditorForm(forms.Form):
    imgtitle = forms.CharField(max_length=13, required=True, label=False,      widget=forms.TextInput(attrs={'style': 'text-transform:lowercase;', 'placeholder': 'enter title'}))

    imgdesc = forms.CharField(widget=forms.Textarea(attrs={'placeholder': 'add description'}), label=False, required=True)

    image = forms.URLField(required=True, label=False, widget=forms.TextInput(attrs={'placeholder': 'add image'}))
Вернуться на верх