【问题标题】:How can I upload multiple files in to a Django model?如何将多个文件上传到 Django 模型中?
【发布时间】:2021-07-30 09:59:11
【问题描述】:

我正在尝试使用 Django 制作 LMS 系统,现在我需要将多个 pdf 文件上传到课程的课程中。我可以在 Django 模型中上传一个带有 OnetoOne 字段的文件,但不能更多。当我尝试为同一类添加另一种材料时,它会显示Upload materials with this Uploaded class already exists. 这是我的模型代码。

class UploadMaterials(models.Model):
    name = models.CharField(max_length=255)
    uploaded_class = models.OneToOneField(Class, on_delete=models.CASCADE, related_name='upload_materials')
    upload_material = models.FileField(upload_to=rename, null=True)

    class Meta:
        verbose_name_plural = "Materials"

我需要上传材料并能够在模板中查看它们。喜欢......

{% for material in class.materials %}
<h1>{{ material.name }}</h1>
{% endfor %}

我尝试了 Django ForeignKey 而不是 OnetoOne,并且能够为同一类创建多种材料 但不知道如何从模板中访问它们。

我想知道的是如何将多个文件上传到同一个类以及如何在模板中访问它们。

谢谢!

【问题讨论】:

    标签: python django django-models file-upload django-model-field


    【解决方案1】:

    您可以尝试在您的代码中插入此模式:

    file_field = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}))
    

    它发送多个文件上传。

    https://docs.djangoproject.com/en/3.0/topics/http/file-uploads/#uploading-multiple-files

    【讨论】:

    猜你喜欢
    • 2016-11-10
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 2020-10-27
    • 2013-06-01
    • 2013-08-27
    • 2014-10-31
    • 2021-09-19
    相关资源
    最近更新 更多