Добавление страницы редактирования фотографий в приложение галереи изображений 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'}))