django 1.9 怎么配置静态文件

2025-04-27 08:39:21
推荐回答(1个)
回答1:

想把以前的一个asp.net网站移植到django上,发现django对静态资源似乎支持的不好,不能直接根据相对路径查找,要做一些配置,找了很多解决方案,整理如下:

1、django对静态资源的配置是跟版本有关的!!!切记!!!1.3以前的和以后的配置不太一样!!!下面仅针对Django1.9;

2、settings.py中的installed apps 要包含'django.contrib.staticfiles';

3、settings.py中的STATIC_URL就是app目录下的静态文件所在文件夹的相对路径,默认为/static/,可以自定义;

4、调用时用如下形式:

{% load static %}
My image

导入js,img等静态文件后报错:

File "D:\Python27\lib\mimetypes.py", line 249, in enum_types

ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)
[27/Dec/2015 15:26:32] "GET /static/assets/img/nextPage_small_grey.jpg HTTP/1.1" 500 59

找到关键报错文件mimetypes.py,百度了一下,找到了解决方案:在Python安装目录下的lib/site-packages中添加一个文件sitecustomize.py,内容为

import sys
sys.setdefaultencoding("cp1251")

我设置的编码格式为utf-8,不知道其他格式是否也可以。重启运行,成功。