MEDIA_ROOT与STATIC_ROOT静态文件配置

MEDIA_ROOT主要是用于用户上传目录。
STATIC_ROOT用于网站的静态文件

【转载】

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_DIRSSTATIC_ROOT以及各个App的static子目录里面搜索静态文件。一旦布署到开发环境上,settings.py不需要重新编写,只要在Apache的配置文件里面写好映射,/static将会被Apache处理。django.contrib.staticfiles虽然仍然存在,但因为不会接收到以/static/开始的路径,所以将不会产生作用。不必担心Django会使用处理速度变慢。另外,当settings.DEBUG is False的时候,staticfiles将自动关闭。

自己写的博客静态文件URL设置:

HERE = os.path.dirname(os.path.abspath(__file__)) 用于取出settings.py所在文件夹的位置

MEDIA_ROOT = os.path.join( HERE, 'media').replace('\\','/')

MEDIA_URL = '/media/'

STATIC_ROOT = os.path.join( HERE, 'static').replace('\\','/')

STATIC_URL = '/static/'

url设置:

urlpatterns += patterns((''),
    (r'^static/(?P<path>.*)$', 'django.views.static.serve',
            {'document_root':  settings.STATIC_ROOT}
    ),

 

posted @ 2013-09-01 11:17  枫桦宁  阅读(3657)  评论(1编辑  收藏  举报