Django ====> 1.4版本静态文件路径设置--MEDIA_ROOT,MEDIA_URL, STATIC_ROOT, STATIC_URL学习
2012-10-29 15:03
946 查看
MEDIA_ROOT:主要是为了存放上传的文件,比如在ImageField中,这个值加上upload_to的值就是真实存放上传图片的文件位置;Django里边文件内容实际上是不会存放到数据库里边的,大多数数据库存放数据效率低,需要保存在文件系统里。PS:FileUploads(用来存储文件)
MEDIA_URL:URL的映射,前后要加上‘/’ 表示从根目录开始,比如“/site_media/”,加上这个属性之后,静态文件的链接前面会加上这个值。
STATIC_ROOT:在这个文件里边的目录会当成静态文件处理。但是不能把自己辛苦写的Javascript或者图片等静态文件放进去。
STATIC_URL:URL映射,指定静态目录的URL,默认的是"/static/"。
STATICFILES_DIRS:指定一个工程里边哪个目录存放了与这个工程相关的静态文件,是一个列表。如果列表中有一个是 “/home/shishang/test/static”,其中有一个文件内容是productlist.html, 我们只要访问http://localhost:8000/static/productlist.html就可以直接访问界面了。
转:Django提供了一个方法自动地将所有的静态文件放在一起。只要在写App的时候创建一个static子目录专门保存静态文件就行了。在开发阶段,不必费心去做映射,不需要配置
具体代码示例:
MEDIA_URL:URL的映射,前后要加上‘/’ 表示从根目录开始,比如“/site_media/”,加上这个属性之后,静态文件的链接前面会加上这个值。
STATIC_ROOT:在这个文件里边的目录会当成静态文件处理。但是不能把自己辛苦写的Javascript或者图片等静态文件放进去。
STATIC_URL:URL映射,指定静态目录的URL,默认的是"/static/"。
STATICFILES_DIRS:指定一个工程里边哪个目录存放了与这个工程相关的静态文件,是一个列表。如果列表中有一个是 “/home/shishang/test/static”,其中有一个文件内容是productlist.html, 我们只要访问http://localhost:8000/static/productlist.html就可以直接访问界面了。
转:Django提供了一个方法自动地将所有的静态文件放在一起。只要在写App的时候创建一个static子目录专门保存静态文件就行了。在开发阶段,不必费心去做映射,不需要配置
urls.py。在布署到生产环境的时候,只需要配置Apache把
/static/映射到
STATIC_ROOT。然后运行
manage.py collectstatic,自动地
STATICFILES_DIRS列出的目录以及各个App下的static子目录的所有文件复制到STATIC_ROOT。因为复制过程可能会覆盖掉原来的文件,所以,一定不能把我们辛苦做出来静态文件放这边!在开发阶段,Django把
/static映射到
django.contrib.staticfiles这个App。
staticfiles自动地从
STATICFILES_DIRS、
STATIC_ROOT以及各个App的
static子目录里面搜索静态文件。一旦布署到开发环境上,settings.py不需要重新编写,只要在Apache的配置文件里面写好映射,
/static将会被Apache处理。
django.contrib.staticfiles虽然仍然存在,但因为不会接收到以
/static/开始的路径,所以将不会产生作用。不必担心Django会使用处理速度变慢。另外,当
settings.DEBUG is False的时候,
staticfiles将自动关闭。
具体代码示例:
#setting.py 中加入: import os HERE = os.path.dirname(os.path.dirname(__file__)) MEDIA_ROOT = os.path.join( HERE, "../media").replace('\\', '/') MEDIA_URL = "/site_media/" STATIC_ROOT = os.path.join(HERE, "../static").replace('\\', '/') STATIC_URL = "/static/" STATICFILES_DIRS = ( os.path.join(HERE, "../app名字/static/").replace('\\', '/'), ) #和STATIC_ROOT最好路径不要重叠 #建议将静态文件保存在app的static目录中 #urls.py中加入: from django.conf.urls.static import static from django.conf import settings urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) #这样使用 <link type="text/css" rel="stylesheet" href="/static/css/bootstrap.min.css"/> <link type="text/css" rel="stylesheet" href="/static/css/bootstrap-responsive.css"/>
相关文章推荐
- Django ====> 1.4版本静态文件路径设置--MEDIA_ROOT,MEDIA_URL, STATIC_ROOT, STATIC_URL学习
- Django ====> 1.4版本路径设置(续)--staticfiles,STATIC_ROOT, STATIC_URL,STATICFILES_DIRS介绍
- Django -> debug模式下的静态文件服务(/media/)
- Django基础,Day9 - 静态文件目录与路径设置说明(eg. images, JavaScript, CSS)
- Django基础,Day9 - 静态文件目录与路径设置说明(eg. images, JavaScript, CSS)
- django静态文件(static)路径配置
- django设置静态文件路径方法
- Django1.4关于静态文件(css.js等)和模板路径的配置
- django 静态文件路径设置
- Django下MEDIA_ROOT, MEDIA_URL, STATIC_ROOT, STATIC_URL解惑
- 基于 Django1.10 文档的深入学习(1)—— Settings.py 之 MEDIA_ROOT 与 MEDIA_URL
- Django1.4关于静态文件(css.js等)和模板路径的配置
- Django静态文件路径设置
- django设置静态文件css和js路径
- (转)Django ====> 实战学习篇四 引入bootstrap,设置静态资源
- django学习——media处理上传图片、文件方法设置
- Django -> debug模式下的静态文件服务(/media/)
- Django中--debug改为False时,需要将静态文件配置到STATIC_ROOT中
- python——Django项目开发:配置项目/static/路径,调用css、img、js等静态文件
- django学习——STATIC_URL与STATICFILES_DIRS