0

我正在尝试用 Django 制作一个 LMS 系统,现在我需要将多个 pdf 文件上传到课程的课程中。我可以上传一个包含OnetoOneDjango 模型中的字段的文件,但不能上传更多。当我尝试为同一类添加另一种材料时,它说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 %}

我尝试了 DjangoForeignKey而不是OnetoOne并且能够为同一个类创建多个材料,但无法弄清楚如何从模板中访问它们。

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

谢谢!

4

1 回答 1

0

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

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

它发送多个文件上传。

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

于 2021-05-08T09:44:46.290 回答