Django创建视图图像上传

发布于 2021-01-29 15:56:47

我正在尝试通过ModelForm在CreateView中创建一个新对象。我希望“玩家”实例具有图像。但是上传的图像不会存储到“
player_image”目录或写入数据库中。

这些是我的文件:

models.py:

class Player(models.Model):
    last_name = models.CharField(max_length=255, verbose_name=_("Last Name"))
    first_name = models.CharField(max_length=255, verbose_name=_("First Name"))
    secret_name = models.CharField(max_length=255, verbose_name=_("Secret Key"), unique=True)
    image = ImageField(upload_to='player_images/', verbose_name=_("Image"), null=True, blank=True)

player_form.py

class PlayerForm(forms.ModelForm):
    last_name = forms.CharField(required=True, label=_("Last Name"))
    first_name = forms.CharField(required=True, label=_("First Name"))

    class Meta:
        model = Player
        fields = ['first_name', 'last_name', 'image']

player_add_view.py

class PlayerAddView(LoginRequiredMixin, CreateView):
    form_class = PlayerForm
    template_name = "project/player_add_view.html"
    model = Player

def form_valid(self, form):
    player = form.save(commit=False)

    # I do other stuff here
    player.save()

    return HttpResponseRedirect(reverse('home'))
关注者
0
被浏览
61
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    可能缺少诸如views.py中的request.FILES或表单中的enctype =“ multipart / form-data”之类的东西。

    在这里查看:https
    //docs.djangoproject.com/en/1.8/topics/http/file-
    uploads/

    或者看这个:https :
    //godjango.com/35-upload-files/



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看