静态文件引用
django项目开发过程中,通过django.contrib.staticfiles
提供静态文件服务,所以确保它在INSTALLED_APPS
配置中。
路径设置
静态文件的设置有两个:
- 静态文件目录
在项目根目录下创建static
文件夹,然后配置STATICFILES_DIRS
# settings.py
...
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] # 静态文件目录
...
- 静态文件引用前缀
再配置一个STATIC_URL
项
STATIC_URL = '/static/' # 最后一定要带个`/`
静态文件引用
在static
目录下创建文件夹crm
,再在crm
下创建文件夹css
,再在其中创建base.css
文件,内容如下:
* {
coler: red
}
在模板中引用静态文件有两种方法:
- 硬编码
不推荐使用。
在index.html
中添加如下引用
<link rel="stylesheet" href="/static/crm/css/base.css">
/static/
就是上面设置的STATIC_URL
的值 crm/css/base.css
就是我们想要引入的静态文件的路径。
- 模板标签引入
推荐使用。
在index.html
中添加如下代码
{% load static %} # 写在模板头
...
<link rel="stylesheet" href="{% static 'crm/css/base.css' %}">
利用内置模板标签static
动态解析。
如果一切正常,当再次访问http://127.0.0.1/crm/index/
时,会看到所有的字都变成红色了。
需要注意的是:项目里面setting设置的static_url是啥,那么你引用的时候,前面就必须是啥,并非说的是static这个文件夹。我们直接看图。如果把setting里面的STATIC_URL设置为'/aaa/',那引用这个静态文件的时候就必须要把前面改成aaa。
有人问这个是干嘛用的?其实是一定程度上隐藏你的路径。。