当我试图上传一个图片时,我对Django-Filebrowser有一个问题。我正在使用以下版本:Django 1.8.7、Filebrowser 3.6.4和Python2.7。
当我试图上传图像时,一切都按预期工作,上传的文件被放置在正确的文件夹中,没有任何问题;但是结果文件url没有任何必要的前导斜杠来正确地服务该文件。
例如,如果我试图上传"test.jpg",最终的图像url将是"uploads/test.jpg“和”_version/test_xxx.jpg“,这实际上会在Filebrowser面板中产生问题,因为生成的请求将发送给http://localhost:8000/admin/filebrowser/browse/uploads/test.jpg和http://localhost:8000/admin/filebrowser/browse/_versions/test.jpg,而不是服务器将正常服务的http://localhost:8000/uploads/test.jpg和http://localhost:8000/_versions/test.jpg。
(请注意,Filebrowser面板url为http://localhost:8000/admin/filebrowser/)
这是我的设置:
urls.py:
urlpatterns = [
url(r'^admin/filebrowser/', include(site.urls)),
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('pages.urls')),
url(r'^blog/', include('articles.urls')),
url(r'^tinymce/', include('tinymce.urls')),
url(r'^grappelli/', include('grappelli.urls')),
]settings.py
FILEBROWSER_DIRECTORY = 'uploads/'
FILEBROWSER_VERSIONS_BASEDIR = '_versions/'向FILEBROWSER_DIRECTORY添加一个前导斜杠将触发一个SouspiciusFileOperation错误,因为'/uploads/‘位于项目文件夹之外。
提前谢谢。
发布于 2016-11-09 22:47:05
我终于明白重点了。已经足够显式地设置MEDIA_ROOT和MEDIA_URL了
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')现在,Filebrowser将在这个新的父文件夹中搜索"uploads/"和"_versions/"文件夹,因此需要相应地为"/media"服务。
https://stackoverflow.com/questions/40515422
复制相似问题