📜  django 静态文件 - Python (1)

📅  最后修改于: 2023-12-03 15:00:27.584000             🧑  作者: Mango

Django 静态文件

Django 是一个优秀的 web 开发框架,其支持使用静态文件来展示网站的外观和行为。本文将介绍 Django 中使用静态文件的方法。

静态文件目录

在 Django 项目中,建议将静态文件放在特定的目录中,以方便管理。可以在项目的 settings.py 文件中配置 STATICFILES_DIRS 参数来指定静态文件的位置,例如:

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

这里将静态文件放在了项目根目录下的 static 文件夹中。

加载静态文件

在 HTML 文件中使用 {% static %} 模板标签来加载静态文件。例如,可以在 HTML 文件中使用以下标签来加载名为 styles.css 的样式文件:

<link rel="stylesheet" href="{% static 'styles.css' %}">

同样地,也可以使用以下标签来加载名为 script.js 的脚本文件:

<script src="{% static 'script.js' %}"></script>
静态文件版本控制

为了防止浏览器缓存旧的静态文件版本而导致样式和行为不一致的问题,可以通过添加版本号的方式来进行静态文件版本控制。在 Django 项目的 settings.py 文件中,设置 STATICFILES_STORAGE 为 django.contrib.staticfiles.storage.ManifestStaticFilesStorage,并将 STATIC_ROOT 指定为静态文件的发布目录,例如:

STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

然后在加载静态文件时,使用 static 模板标签的 url 属性来生成带版本号的静态文件路径,例如:

<link rel="stylesheet" href="{% static 'styles.css' %}?{{ STATICFILES_VERSION }}">

注意,这里使用的 STATICFILES_VERSION 是 Django 自动添加的版本号。

总结

本文介绍了如何在 Django 中使用静态文件,并讨论了如何进行静态文件版本控制。正确使用静态文件可以使网站看起来更加漂亮,并提高网站的性能。