Django的static和media

 

2013-09-09 18:13:57|  

 
       最近用到Django的静态文件,关于static和media,配置了很多次,终于可以用了。
       首先是static,在'site/site/settings.py'文件中做配置,
import os 
HERE = os.path.split(os.path.realpath(__file__))[0].replace('\\','/')  # 项目settings.py文件所在的文件夹(site)的目录
ROOT = HERE.replace('/site','')  #  项目根目录
 
STATIC_ROOT = os.path.join(ROOT,'static')
 
STATIC_URL = '/static/'
 
STATICFILES_DIRS = (
    ("images", os.path.join(STATIC_ROOT,'images')), 
)
完成之后就可以在模板中使用'/site/static/images/'中的文件了。
例如:
<html lang="zh-CN">
<head>
<title>home</title>
</head>
<body>
    <img src="{{STATIC_URL}}/static/images/1.jpg" width="1024" height="768" alt="site-home" />
</body>
</html>
 
接下来是media,在'site/site/settings.py'文件中做配置,
MEDIA_ROOT = os.path.join(ROOT,'media')
MEDIA_URL = '/media/' 
       然后在'site/site/urls.py'文件中做配置,
urlpatterns += patterns('', 
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT }), 
    )
完成后,在模板中就可以使用'/site/media/images/'中的图片了。
<html lang="zh-CN">
<head>
<title>login</title>
</head>
<body>
    <img src="/media/images/2.jpg" width="1024" height="768" alt="login" />
</body>
</html>
posted @ 2014-01-12 12:25  zifenger  阅读(459)  评论(0编辑  收藏  举报