序
静态文件指像css,js,images之类的文件,在Django里面静态文件的处理十分简单,这里就mark一下
安装和调用
-
installapp中加入 django.contrib.staticfiles
-
TEMPLATE_CONTEXT_PROCESSORS中加入’django.core.context_processors.media’
media&static
-
静态文件的处理又包括STATIC和MEDIA两类
-
MEDIA:
-
指用户上传的文件,比如在Model里面的FileFIeld,ImageField上传的文件
-
如果定义MEDIA_ROOT=c:\temp\media,那么File=models.FileField(upload_to=”abc/”),上传的文件就会被保存到c:\temp\media\abc
-
MEDIA_ROOT必须是本地路径的绝对路径,MEDIA_ROOT=os.path.join(PROJECT_PATH,’media/’).replace(‘\’,’/’)
-
MEDIA_URL是指从浏览器访问时的地址前缀,MEDIA_URL=”/media/”
-
-
STATIC:
-
主要指的是如css,js,images这样文件
-
STATIC_ROOT与MEDIA_ROOT位置不能一样
-
在每个app所在文夹均可以建立一个static文件夹, 然后当运行collectstatic时,Django会遍历INSTALL_APPS里面所有app的static文件夹, 将里面所有的文件复制到STATIC_ROOT
-
-
一般在和templates相同的位置上建立static和media目录
使用
- settings配置
MEDIA_URL="/media/"
STATIC_URL="/static/"
STATICFILES_DIRS = (
os.path.join(os.path.dirname(__file__), "static"),
)
-
view调用:render_to_response(‘hello.html’,RequestContext(request))
-
模板调用
{ % load staticfiles % }
< img src="{ % static 'images/hi.jpg' % }" / >