Python 如何正确集成Filepicker.io、Django和S3
我正在制作一个Django应用程序,它允许用户通过管理界面上传图片,然后通过API端点访问这些图片的URL。在管理界面上,应向用户提供Filepicker.io小部件(以启用拖放功能等),并将文件上载到S3。我已经将我的S3凭据输入我帐户的Filpicker管理页面 我的问题是如何将所有这些要素结合在一起。以下是我的项目中的相应文件:Python 如何正确集成Filepicker.io、Django和S3,python,django,filepicker.io,Python,Django,Filepicker.io,我正在制作一个Django应用程序,它允许用户通过管理界面上传图片,然后通过API端点访问这些图片的URL。在管理界面上,应向用户提供Filepicker.io小部件(以启用拖放功能等),并将文件上载到S3。我已经将我的S3凭据输入我帐户的Filpicker管理页面 我的问题是如何将所有这些要素结合在一起。以下是我的项目中的相应文件: # models.py from django.db import models from django_filepicker.models import FPF
# models.py
from django.db import models
from django_filepicker.models import FPFileField
# Add field introspection for FPFileField
# See http://south.aeracode.org/wiki/MyFieldsDontWork
from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ["^django_filepicker\.models\.FPFileField"])
class Product(models.Model):
product_logo = FPFileField(upload_to='uploads')
我的问题是:
[
"/media/uploads/fp-file",
"/media/uploads/fp-file_1",
"/media/uploads/fp-file_2",
"/media/uploads/fp-file_3",
"/media/uploads/fp-file_4",
"/media/uploads/fp-file_5"
]
但我想要的是:
[
"https://s3-ap-southeast-2.amazonaws.com/XXXXXXXXX/TBtOcRSNyBAZZuNBFOpA_blah.png",
"https://s3-ap-southeast-2.amazonaws.com/XXXXXXXXX/8ODleDuKRIOAglFs0sKl_etc.png",
]
您需要将
默认存储\u后端
更改为s3
存储后端。请看一看
要使用管理面板上的FPFileWidget
,请查看
更改这两个设置应该适合您。您需要将
默认存储\u后端
更改为s3
存储后端。请看一看
要使用管理面板上的FPFileWidget
,请查看
更改这两个设置应该对您有用。请查看FPUrlField,它将提供您所需的内容。当前的FP*字段没有管理接口,但是如果您想返回代码,我们很乐意接受一个pull请求。看看FPUrlField,它应该会满足您的需要。当前的FP*字段没有管理接口,但是如果您想返回代码,我们很乐意接受拉取请求谢谢!我已经解决了问题1。使用你的链接。我会去查一下django Storages如果你们还有什么困难,请告诉我。嘿,伙计们,@psjinx,我有个问题。我已经修改了我的默认存储后端,但似乎文件被上传到filepicker,然后是s3,在filepicker模式和表单提交上。有没有办法让filepicker上的文件与我的模型的FPFileField相关联,而不是再次上传到s3?提前感谢。FPFileField不存储fpurl。请查看URLFileMapPermiddware在
请求中为您提供的上载文件。文件,但您在请求中也会获得实际URL。POST
。谢谢!我已经解决了问题1。使用你的链接。我会去查一下django Storages如果你们还有什么困难,请告诉我。嘿,伙计们,@psjinx,我有个问题。我已经修改了我的默认存储后端,但似乎文件被上传到filepicker,然后是s3,在filepicker模式和表单提交上。有没有办法让filepicker上的文件与我的模型的FPFileField相关联,而不是再次上传到s3?提前感谢。FPFileField不存储fpurl。请查看URLFileMapPermiddware在请求中为您提供的上载文件。文件,但您在请求中也会获得实际URL。POST
。谢谢Brett。现在,FPFileField的url字段指向该字段,尽管没有指向S3,但它比上传到/mediabrett的文件要好。现在,FPFileField的url字段指向哪个位置,尽管没有指向S3,但它比上传到/media的文件要好
[
"/media/uploads/fp-file",
"/media/uploads/fp-file_1",
"/media/uploads/fp-file_2",
"/media/uploads/fp-file_3",
"/media/uploads/fp-file_4",
"/media/uploads/fp-file_5"
]
[
"https://s3-ap-southeast-2.amazonaws.com/XXXXXXXXX/TBtOcRSNyBAZZuNBFOpA_blah.png",
"https://s3-ap-southeast-2.amazonaws.com/XXXXXXXXX/8ODleDuKRIOAglFs0sKl_etc.png",
]