Django如何实现文本和多图片的上传?

当前代码实现了用户通过表单上传一张图片和文本的功能。要支持多张图片上传,可以修改HTML模板以允许选择多个文件,并在视图函数中处理FILES字典中的多个图像。可能需要使用Django的ManyToManyField或者在后端进行文件集的处理。

期末项目,救救孩子

首先实现了文本和单张图片的上传,代码如下:

view.py:

def upload(request):
    if request.method == 'POST':
        user = request.user.username
        images = request.FILES.get('image_upload')

        caption = request.POST['caption']

        new_post = Post.objects.create(user=user, image=images, caption=caption)
        new_post.save()

        return redirect('/')
    else:
        return redirect('/')

models.py

class Post(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4)
    # 用户名
    user = models.CharField(max_length=100)
    # 发的帖子图片
    image = models.ImageField(upload_to='post_images')
    # 标题
    caption = models.TextField()

templates:

<div>
    <input type="file" name="image_upload" >
                
    <textarea class="button soft-warning small" name="caption" placeholder="描述..." ></textarea>
    <br>
    <button class="button bg-blue-700" type="submit" >发布</button>
</div>

 现在想要实现能够上传多张图片,有没有什么好办法呀!!!很急很急很急!!!

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值