Получение определенного объекта *изображения* из профиля пользователя для отображения на фронтенде
Я пытаюсь сделать запрос на определенное изображение у пользователя Django. Моя цель - позволить каждому изображению иметь свою собственную страницу, когда вы нажимаете на изображение на странице профиля, оно должно отправить вас на другую страницу с той же самой фотографией и только той фотографией, на которую вы нажали, на странице, которую я уже сделал, есть все фотографии в порядке их размещения, я просмотрел документацию Django 3.0 и не могу найти функцию query set, которая позволяет мне получить конкретное изображение от конкретного пользователя для функции single page в views.py. Все остальные мои функции работают, просто хотел показать их на всякий случай, если вам понадобится ссылка на другие мои функции views.py. Если кто-то может немного помочь мне, это было бы замечательно.
views.py
def profile(request, user):
img = Uploads.objects.filter(profile_id = request.user.profile)
profile = Profile.objects.filter(user = request.user)
context = {"profile": profile, "img": img}
return render(request, "main/profile.html", context)
def profile_uploads(request):
profile = request.user.profile
if request.method == "POST":
form = Uploads_Form(data = request.POST, files = request.FILES)
if form.is_valid():
form.instance.profile = request.user.profile
form.save()
obj = form.instance
return redirect('/profile/<str:user>/')
else:
form = Uploads_Form()
img = Uploads.objects.all()
return render(request,"main/profile_uploads.html", {"img":img, "form":form})
def single_page(request, user):
img = Uploads.objects.filter(file = request.user.profile)
context = {"img": img}
return render(request, 'main/single_page.html', context)
Если вы хотите обслуживать и сохранять медиафайлы (изображения, файлы), приглашаем вас
Документация по управлению файлами в Django
Вы должны установить MEDIA_URL и MEDIA_ROOT настройки
Затем вы должны определить ImageField внутри вашей модели следующим образом:
class MyModel(models.Model):
image = models.ImageField(upload_to="my_model/images")
...
Для получения url изображения используйте
my_model_instance = MyModel.objects.get(...)
url = my_model_instance.image.url
Для отображения изображения в html
...
<img src="{{ my_model_instance.image.url }}"/>
...