models.py
class ProfileGallery(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True)
gallery = models.ImageField(upload_to='users/gallery/', null=True, blank=True)
forms.py
class ProfileGalleryForm(forms.ModelForm):
class Meta:
model = ProfileGallery
fields = ('gallery',)
widgets = {'gallery': forms.FileInput(attrs={'allow multiple selected': True})}
views.py
def my_page(request, pk):
user = User.objects.get(id=pk)
images = ProfileGallery.objects.all()# я уверен здесь проблема
context = {'user': user, 'images': images}
if request.method == 'POST':
delete = DeleteAll(request.POST, request.FILES)
if delete.is_valid():
images.delete()
return render(request, 'account/my_page.html', context)
естественно все фото сограняются в БД, и выводятся все. Получается что все фото это общие фото.
вот на всякий пожарный форма для сохраненияе фото
views.py
def edit(request):
if request.method == 'POST':
user_form = UserEditForm(instance=request.user, data=request.POST)
profile_form = ProfileEditForm(instance=request.user.profile, data=request.POST, files=request.FILES)
gallery_form = ProfileGalleryForm(instance=request.user.profile, data=request.POST, files=request.FILES)
if user_form.is_valid() and profile_form.is_valid() and gallery_form.is_valid():
user_form.save()
profile_form.save()
for uploaded_file in request.FILES.getlist('gallery'):
ProfileGallery.objects.create(gallery=uploaded_file)
return redirect('my_page', request.user.pk)