# 3.2. 静态文件

# 静态文件

项目中的CSS、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中,以方便管理。在html页面中调用时,也需要指定静态文件的路径,Django中提供了一种解析的方式配置静态文件路径。静态文件可以放在项目根目录下,也可以放在应用的目录下,由于有些静态文件在项目中是通用的,所以推荐放在项目的根目录下,方便管理。

为了提供静态文件,需要配置两个参数:

  • STATICFILES_DIRS 存放查找静态文件的目录
  • STATIC_URL 访问静态文件的URL前缀

# 示例

  • 1) 在项目根目录下创建static_files目录来保存静态文件。
  • 2) 在demo/settings.py中修改静态文件的两个参数为
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static_files'),
]
1
2
3
4
  • 3)此时在static_files添加的任何静态文件都可以使用网址 /static/文件在static_files中的路径 来访问了。

例如,我们向static_files目录中添加一个index.html文件,在浏览器中就可以使用127.0.0.1:8000/static/index.html来访问。

或者我们在static_files目录中添加了一个子目录和文件goods/detail.html,在浏览器中就可以使用127.0.0.1:8000/static/goods/detail.html来访问。

# 注意

Django 仅在调试模式下(DEBUG=True)能对外提供静态文件。

当DEBUG=False工作在生产模式时,Django不再对外提供静态文件,需要是用collectstatic命令来收集静态文件并交由其他静态文件服务器来提供。(详细在部署时会讲)

上次更新: 2020/10/10 上午11:15:30