📅  最后修改于: 2023-12-03 15:42:26.326000             🧑  作者: Mango
在 Django 中,静态目录是存储用于前端页面的静态文件的目录,例如样式表、脚本文件和图像等。Django 在运行中自动将这些静态文件提供给用户,并且可以自动处理它们的 URL。
Django 项目中的静态目录被放置在应用程序的根目录下,由于每个应用程序都有一个 static
目录,因此 Django 可以轻松地找到您的静态文件。
要在 Django 中启用静态文件,请按以下步骤操作:
settings.py
文件中包含以下内容:# settings.py
# 设置静态目录标识符的名称,通常为 "static"
STATIC_URL = '/static/'
# 静态文件的路径,存储在项目中的 static 目录下
STATICFILES_DIRS = [
BASE_DIR / "static",
]
# 用于收集静态资源的应用程序的列表
INSTALLED_APPS = [
...
'django.contrib.staticfiles',
...
]
{% load static %}
<img src="{% static 'images/logo.png' %}" alt="My logo">
<link rel="stylesheet" href="{% static 'css/mystyles.css' %}">
通过将 load static
加载到模板中,您可以使用 static
模板标签,例如 {% static 'images/logo.png' %}
。这将被转换为与您在 settings.py
中设置的 STATIC_URL
匹配的 URL。
在开发过程中,修改静态文件时,您需要重新启动 Django 开发服务器。这使得迭代开发更加耗时。有两个选项可帮助您在开发过程中加载新的静态文件。
将 DEBUG
设置为 True
,Django 会在一个特殊的调试模式下运行。在这种模式下,当请求任何静态文件时,Django 将自动查找并加载最新的文件。
# settings.py
DEBUG = True
注意:不要在生产环境中使用调试模式。调试模式会泄漏有关项目的安全敏感信息。
安装 django-staticfiles-resolver
插件,该插件在静态文件被修改时,会自动重新加载。
pip install django-staticfiles-resolver
在安装完插件之后,您需要运行以下命令以收集静态文件:
python manage.py collectstatic -c
-c
指令会为静态文件的更改设置自动重载器。通过这个选项,Django 会在访问静态文件时自动重新加载它们,因此您无需重新启动服务器。
在 Django 中,您可以通过将静态文件放到应用程序的根目录中的 static
目录中并使用 load static
模板标签来使用静态资源。通过配置 DEBUG
选项或安装 django-staticfiles-resolver
插件,您可以自动重新加载静态文件,而无需重新启动服务器。