当我使用像
这样的常见Source类定义时class Source(models.Model):
photo = models.ImageField(upload_to=...)
...
我在管理模块中获得了一个公共对话框,显示当前分配的照片或空白字段。在后一种情况下,我可以从在本地磁盘上运行的文件浏览器中选择照片。
如果我更改博客图片,我只能将下载的照片分配到媒体库,并可通过媒体库浏览器获取。
如果能够从普通的ImageField中选择媒体库浏览器中的照片,我该怎么办?
为什么有两种方法可以做同样的事情?
答案 0 :(得分:2)
我能够通过使用FileField代替ImageField来实现它。
from mezzanine.core import fields
class Source(models.Model):
photo = fields.FileField("Image", upload_to="dir/", format="Image")
稍微挖掘一下代码,我发现Mezzanine的'FileField'只是filebrowser的'FileBrowserField'的抽象,如果它存在,否则它会回退到默认的django FileField。我不知道为什么他们也没有使它适用于ImageField。 FileBrowserField非常智能,可以从媒体库中查找,FileField则不然。所以你还需要安装filebrowser_safe。