Изображение не загружается в базу данных из формы django - PullRequest
1 голос
/ 28 мая 2020

изображений, которые собраны через форму, не загружаются в базу данных

как решить эту проблему

пожалуйста, помогите мне

views.py

class club(ListView):
    model = UserProfile
    template_name = "club.html"
    def post(self, *args ,**kwargs):
        if self.request.method == 'POST':
            self.request.user.userprofile.userphoto = self.request.FILES.get('image')
            self.request.user.userprofile.phone_number = self.request.POST.get('userphonenumber')
            self.request.user.userprofile.Isclubmem = True
            self.request.user.userprofile.save()
            return redirect('core:home')

клуб. html

<div class="container">
            <form action="." method="POST">
                {%csrf_token%}
                <b>Register:<br><br></b>
                Profile Pic:
                <input name="image" accept=".png,.jpg,.jpeg" type="file" value=selectimage><br><br>
                Phonenumber:
                <input name="userphonenumber" type="number" placeholder="+91 9876543210" ><br><br>
                <input type="submit" value="submit" class="btn btn-success">
            </form>
        </div>

models.py

class UserProfile(models.Model):
    user = models.OneToOneField(
        settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    stripe_customer_id = models.CharField(max_length=50, blank=True, null=True)
    Isclubmem = models.BooleanField(default=False)
    one_click_purchasing = models.BooleanField(default=False)
    userphoto = models.ImageField(upload_to='images/', null=True)
    phone_number = models.IntegerField(default=False)
    usermoney = models.FloatField(default=0.0)
    def __str__(self):
        return self.user.username

1 Ответ

1 голос
/ 28 мая 2020

В form следует указать enctype="multipart/form-data", если вы хотите загрузить файлы, поэтому:

<form action="." method="POST" <b>enctype="multipart/form-data"</b>>
    &hellip;
</form>
...