专注于高品质PHP技术等信息服务于一体 [STIEMAP] [RSS]

百度提供的广告:
python
当前位置:首页 > 技术文档 > python >  > 
django1.9 静态文件配置
django 因为版本比较多,配置各不相同。 配置过于复杂。 实际部属到服务器上还要做修改,十分不方便。 
其实CSS JS IMAGES 等就是 文件读写,读出文件使用 HttpResponse 写到输出就可以。

使用路由获取请求的文件

urls.py
# 新建一个处理静态文件的 app 
from static.views import static
 
urlpatterns = [ 
    url(r'^(public/[\w+|/|\.|-]+)$', static), # 这里只处理 public 下面的所有请求 .css .jpg .gif .js 等,由于 static.views.static 处理。
    ......]


static.views.static  views.py

#coding:utf-8
'''
#清如许工作室 python django 开发服务器路由 转载请注明出处
'''
from django.shortcuts import render
from django.http import HttpResponse
import os
 
def static(req,file):
    file = os.path.join(os.getcwd(),file) 
    ext = file.split(".")[-1]
    resp = ""
    status = 200
#发送mime 只加了最常用的类型,开发够用了
    mime = {"css":"text/css", "js":"application/x-javascript", "jpg":"image/jpeg", "jpeg":"image/jpeg","bmp":"image/bmp","png":"image/png","gif":"image/gif" }
if os.path.exists(file):
    fso = open(file,'rb')
    data = fso.read()
    fso.close()
    resp = data
else:
    resp = "404 not found"
    status = 404
return HttpResponse(resp,content_type = mime[ext],status=status)

实际部属的时候,删除 urls.py 中的配置 和 static app 就可以了。 修改比较少。