Изменения не сохраняются в профиле пользователя в Django
У меня проблема с моим Django-приложением, когда изменения не сохраняются в профиле пользователя. Я создал форму для редактирования профиля пользователя, но когда я отправляю форму, изменения не сохраняются в базе данных.
Вот мой код:
views.py:
def customerprofile(request):
profile = get_object_or_404(Profile, user_name=request.user)
if request.method == "POST":
print(request.POST) # Check what data is being sent
image = request.FILES.get("image")
full_name = request.POST.get("full_name")
phone = request.POST.get("phone")
address = request.POST.get("address")
country = request.POST.get("country")
golden_user = request.POST.get("golden_user") == 'on'
diamond_user = request.POST.get("diamond_user") == 'on'
if image != None:
profile.image = image
profile.full_name = full_name
profile.phone = phone
profile.address = address
profile.country = country
profile.golden_user = golden_user
profile.diamond_user = diamond_user
try:
profile.save()
print("Profile saved successfully") # Check if the profile was saved
messages.success(request, "Profile Updated Successfully")
return redirect("useradmin:customerprofile")
except Exception as e:
print("Error saving profile:", e) # Check for errors
context = {
"profile":profile,
}
return render(request, 'useradmin/customerprofile.html', context)
customerprofile.html:
Я проверил данные формы, отправляемые в запросе, и они все корректны. Я также проверил, что метод profile.save()
вызывается, но изменения по-прежнему не сохраняются.
Может ли кто-нибудь помочь мне разобраться в том, что происходит? Заранее спасибо!
Edit: Я добавил некоторую проверку ошибок в функцию представления, и я не получаю никаких ошибок. Метод profile.save()
возвращает True
, указывая, что сохранение прошло успешно. Но изменения по-прежнему не отражаются в базе данных.
Пожалуйста, помогите мне с этим