1

我正在使用 FilePond.js 允许用户在网站上拖放图像。我正在尝试设置 FilePond 来检索用户照片输入。显然,我的意思是将照片上传到的媒体链接。像这样:

 <script>
    FilePond.registerPlugin(FilePondPluginImagePreview);
    const inputElement = document.querySelector('input[type="file"]');
    const pond = FilePond.create(inputElement);

    FilePond.setOptions({
      server: "#" *** I have tried everthing possible as a server option, nothing works***
    });
</script>


def add(request):
if request.method == "POST":
    product_title = request.POST.get("product_title")
    product_price = request.POST.get("product_price")
    product_description = request.POST.get("product_description")
    product_images = request.FILES.getlist('filepond')
    request.user.product_set.create(product_title = product_title,product_price =product_price, product_description = product_description, product_images = product_images)
return render(request,"main/add.html")


class product(models.Model):
  user = models.ForeignKey(User, on_delete=models.CASCADE)
  product_title =  models.CharField(max_length=100, blank=True)
  product_price =  models.CharField(max_length=30, blank=True)
  product_description =  models.CharField(max_length=1000, blank=True)
  product_images = models.FileField()

但我似乎无法让 FilePond将图像上传到 Django 媒体网址。

如何将 FilePond 指向要存储我的照片的 url?

我知道如何从用户输入中收集图像的唯一方法是使用获取请求。我也可以使用获取请求来检索用户提交的FilePond 图像并将它们上传到数据库吗?

PS 我试图指向 FilePond 将其上传到我的开发服务器上的媒体 url。这是http://www.example.local:8000/media

4

2 回答 2

1

后端脚本处理/media应该接受来自名为filepond. 有关如何配置字段名称的信息,请参阅FilePond 文档。

查看有关文件上传的 Django 文档,我猜这就是您在 Django 中检索文件的方式:

request.FILES['filepond']

如果该字段设置为multiple

files = request.FILES.getlist('filepond')

因此,如果您相应地调整 Django 脚本,您应该会看到文件对象出现在后端。

于 2019-02-15T13:27:01.193 回答
0

我为 django 写了一个小助手应用程序:

django-filepond

它允许您通过上传路径指定上传的应用程序,您可以编写自定义上传处理程序,然后将上传的文件匹配到正确的模型。

它处于早期阶段,但可能会有所帮助。

于 2019-03-12T14:17:44.383 回答