Chinaunix首页 | 论坛 | 博客
  • 博客访问: 40180
  • 博文数量: 18
  • 博客积分: 366
  • 博客等级: 一等列兵
  • 技术积分: 200
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-26 10:41
文章分类

全部博文(18)

文章存档

2013年(3)

2012年(15)

我的朋友

分类: LINUX

2012-10-18 21:13:52


静态文件管理配置 就是让用户请求时django能够找到像css,js,image等静态文件并返回给客户端。使网页能够正常显示。
settings.py文件配置可以如下:
import os
STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'static').replace('\\','/')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)
STATIC_ROOT 是整个project 所有app 的静态文件集中地 
通过执行 python manage.py collectstatic 命令 遍历STATICFILES_DIRS所指定的目录和每个app下(当然这个app已经在INSTALLED_APP中)的static目录收集copy到STATIC_ROOT所指定的目录
这里是:E:\TestDjango\TestDjango\static 下 
STATIC_URL 是访问时请求路径变成/static/img/s_bg.jpg HTTP/1.1

django project 目录结构如下:

html文件中的配置:
views 中配置:
from django.template import RequestContext

def index(request):
    return render_to_response("login.html",RequestContext(request))
这里要用 RequestContext 来代替context 

原因:
setting里有很多插件, 它们被开启后, 会在接收到request的时候进行回调, 比如有的是处理静态文件的, 有的是处理session的,它们会将一些信息存储在request对象里, 最终request对象被传入你的视图函数.

这里是模板的STATIC_URL信息被static插件处理后存储在request里, 所以你需要使用RequestContext, 而不是普通的不带request的context。

urls 中添加
if settings.DEBUG:
    urlpatterns += patterns('django.contrib.staticfiles.views',
        url(r'^static/(?P.*)$', 'serve'),
    )


阅读(1913) | 评论(0) | 转发(0) |
0

上一篇:tar 备份

下一篇:datetime 模块

给主人留下些什么吧!~~