首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Django Filebrowser上传的图像中缺少前导斜杠

在Django Filebrowser上传的图像中缺少前导斜杠
EN

Stack Overflow用户
提问于 2016-11-09 20:26:17
回答 1查看 183关注 0票数 0

当我试图上传一个图片时,我对Django-Filebrowser有一个问题。我正在使用以下版本:Django 1.8.7Filebrowser 3.6.4Python2.7

当我试图上传图像时,一切都按预期工作,上传的文件被放置在正确的文件夹中,没有任何问题;但是结果文件url没有任何必要的前导斜杠来正确地服务该文件。

例如,如果我试图上传"test.jpg",最终的图像url将是"uploads/test.jpg“和”_version/test_xxx.jpg“,这实际上会在Filebrowser面板中产生问题,因为生成的请求将发送给http://localhost:8000/admin/filebrowser/browse/uploads/test.jpghttp://localhost:8000/admin/filebrowser/browse/_versions/test.jpg,而不是服务器将正常服务的http://localhost:8000/uploads/test.jpghttp://localhost:8000/_versions/test.jpg

(请注意,Filebrowser面板url为http://localhost:8000/admin/filebrowser/)

这是我的设置:

urls.py:

代码语言:javascript
复制
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

代码语言:javascript
复制
FILEBROWSER_DIRECTORY = 'uploads/'
FILEBROWSER_VERSIONS_BASEDIR = '_versions/'

FILEBROWSER_DIRECTORY添加一个前导斜杠将触发一个SouspiciusFileOperation错误,因为'/uploads/‘位于项目文件夹之外。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-11-09 22:47:05

我终于明白重点了。已经足够显式地设置MEDIA_ROOTMEDIA_URL

代码语言:javascript
复制
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')

现在,Filebrowser将在这个新的父文件夹中搜索"uploads/""_versions/"文件夹,因此需要相应地为"/media"服务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40515422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档