python - Django 创建 查看图片 上传

标签 python django image

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

这些是我的文件:

模型.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'))

最佳答案

可能缺少某些内容,例如 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/

关于python - Django 创建 查看图片 上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32423123/

相关文章:

html - 为什么这些 CSS 背景图片不显示?

python - 使用 MinGW C 编译器代替 Microsoft Visual Studio Express for Python

python - 删除了InDjango110警告: SubfieldBase has been deprecated

html - 为什么我的图像显示不那么清晰

image - 使用 rmagick 像在 Photoshop 中一样为图像着色

python - Celery:将任务结果存储在 MySQL 还是 Redis 中更好?

python - 将数组列拆分为行 pyspark

python - 从 Python 中的颜色字典中绘制不同颜色的线条

python - Pandas 中的整数切片对于行和列不同?

python - Django - 注册新用户时创建新对象