菜鸟网络工程师的成长笔记——第16天(2016.09.02)
终于又到周五
29. Django在测试环境中访问media文件
问题类型:后端,Django
解决状态:已解决
问题描述
一般来说,大型网络应用中静态文件会位于不同的服务器中,但在开发过程中往往需要方便的访问到静态文件,另外,也需要能够访问到用户上传的文件。在Django中要如何做呢。
问题解决
在settings.py中有两个量:
MEDIA_URL是访问media文件的url,比如MEDIA_URL=’/media/’,那么访问media文件的路径就是localhost:5000/media/这个样子
MEDIA_ROOT是上传文件的主机位置,比如MEDIA_ROOT=’/tmp’,那么上传文件就是传到/tmp下,找文件也是在这里找。
然后为了让media能被访问到,需要添加url,在url中添加:
urlpatterns = [
...
] + static(settings.MEDIA_URL, view=serve_media, document_root=settings.MEDIA_ROOT)
如果需要在Template中取到MEDIA_URL,还需要在settings.py中添加中间件:
TEMPLATE中的OPTIONS中的context_processors中添加
'django.core.context_processors.media',