Я хочу загрузить изображение, но оно не отображается в папке мультимедиа.
Это шаблон HTML
<form class="form" action="/profile/edit/{{user.id}}" method="post" enctype="multipart/form-data" style="padding-top:20px;">
{% csrf_token %}
<input type="file" class="btn " name="pro_pic" accept=".png, .jpg, .jpeg">
<button type="submit" class="btn text-success" name="pr_pic" id="pic_submit"><i class="fas fa-check"></i> Submit</button>
</form>
Models.py
class UserDetails(models.Model):
user_id = models.IntegerField(unique=True)
bio = models.TextField(null = True)
profession = models.CharField(max_length = 100, null = True)
city = models.CharField(max_length = 100, null = True)
country = models.CharField(max_length = 100, null = True)
img = models.ImageField(upload_to='pic_user', null = True)
views.py
def edit (request, id = '') :
if request.user.is_authenticated == True :
if request.method == 'POST' :
# MyModel.objects.filter(pk=some_value).update(field1='some value')
if request.POST.get('pr_pic') == '' :
post_image = request.FILES['pro_pic']
# pic = UserDetails.objects.filter(user_id = id).update(img = post_image)
# UserDetails.objects.filter(user_id = id).update(img = post_image)
pic = UserDetails.objects.filter(user_id = id)
pic.img = post_image
pic.save()
Всякий раз, когда пользователь создается, его user_id обновляется в другой таблице (модель UserDetails), а поля имеют значение null.
Но в HTML есть опциязагрузить изображение позже (это показано в HTML).
Я думаю, что мои views.py неверны, пожалуйста, помогите мне исправить это