#python #django-views
Вопрос:
Я пытаюсь загрузить изображение, которое создает мне проблемы. Когда я использую .save (), он создает каталог мультимедиа, но каждый раз создает отдельный новый экземпляр без пользователя, связанного с ним в моей базе данных, поэтому я должен использовать .update (), потому что это позволяет мне получить нужного мне пользователя и его профиль таким образом…
при использовании .update()
def profile_view(request,username): try: profileForm = UpdateUserProfile() if request.method == 'POST': profileForm = UpdateUserProfile(request.POST , request.FILES) user = User.objects.get(username=username) if profileForm.is_valid(): updated_user = UserProfile.objects.filter(user=user).update( bio=profileForm.cleaned_data['bio'], age=profileForm.cleaned_data['age'], profile_image=request.FILES['profile_image']) return render(request,"classy_main/profile.html",{"form":profileForm}) except Exception as exc: print(exc)
Теперь таким образом моя модель обновляется, и я могу видеть в панели администратора, но она не создает каталог мультимедиа.
Это код при использовании .save() в случае необходимости:
def profile_view(request,username): try: profileForm = UpdateUserProfile() if request.method == 'POST': profileForm = UpdateUserProfile(request.POST , request.FILES) user = User.objects.get(username=username) if profileForm.is_valid(): if profileForm.cleaned_data['bio'] == "": profileForm.cleaned_data['bio'] = "No bi4o..." updated_user = UserProfile(bio=profileForm.cleaned_data['bio'], age=profileForm.cleaned_data['age'], profile_image=request.FILES['profile_image']) updated_user.save() return render(request,"classy_main/profile.html",{"form":profileForm}) except Exception as exc: print(exc)
Вот и весь код, который должен сделать возможной загрузку изображения(в представлениях). Если потребуется какая-либо дополнительная информация, я буду рад предоставить ее.
Любая помощь или предложение будут очень признательны, пожалуйста!!