静态文件管理配置 就是让用户请求时django能够找到像css,js,image等静态文件并返回给客户端。使网页能够正常显示。settings.py文件配置可以如下:
import os
STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'static').replace('\\','/')
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) |