[Django1.6]The MEDIA_ROOT and STATIC_ROOT settings must different 解决

该项目有一个图片上传功能,为了把上传路径很简单,写在同一个静态文件路径,于wi7执行机器上没问题,今centos我们报道了机上,如下面的错误:

django.core.exceptions.ImproperlyConfigured: The MEDIA_ROOT and STATIC_ROOT settings must have different values


google下。直接就到了django的文档中:

MEDIA_ROOT and STATIC_ROOT must have different values. Before STATIC_ROOT was introduced, it was common to rely or fallback on MEDIA_ROOT to also serve static files; however, since this can have serious security implications, there is a validation check to prevent it.


文档中明白的指出MEDIA_ROOT 跟 STATIC_ROOT不能用同一个路径。

在STATIC_ROOT么有引进之前使用MEDIA_ROOT路径来存储静态文件的(css,js之类),为了安全。如今基本是使用MEDIA_ROOT 来存储上传文件,STATIC_ROOT来存储静态文件。 


解决“:

settings中改动: 

MEDIA_ROOT 定义为别的路径

MEDIA_URL = '/upload/'
MEDIA_ROOT = os.path.join(BASE_DIR,'uploadfiles').replace('\\','/')

然后在全局的urls配置用加入

  url(r'^upload/(?

P<path>.*)$','django.views.static.serve',{'document_root': settings.MEDIA_ROOT}),


最后在页面显示图片的地方改动下连接地址就能够了。

<a href="/upload/{{ user.userinfo.license }}" target="_blank">查看</a>

基本上就这个三个步骤,就能替换原来的存储路径了。


本文出自 “orangleliu笔记本” 博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/40542099

作者: orangleliu  





版权声明:本文orangleliu(http://blog.csdn.net/orangleliu/)原创文章,文章转载申报。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值