Django 静态文件的配置

2023-04-11 00:00:00 文件 配置 静态

Django 静态文件配置主要涉及以下三个方面:

  1. 静态文件目录配置
    在 settings.py 中配置 STATICFILES_DIRS 变量,指定静态文件所在的目录,例如:
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]

这里将项目根目录下的 static 目录添加到了静态文件搜索路径中。

  1. 静态文件 URL 配置
    在 urls.py 中配置静态文件的 URL,例如:
from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
    # ... 其他 URL 配置 ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

这里将 STATIC_URL 和 STATIC_ROOT 变量的值传递给了 static() 函数,使得 Django 能够正确地处理静态文件 URL 请求。

  1. 静态文件加载
    在 HTML 模板中加载静态文件,例如:
{% load static %}
<!DOCTYPE html>
<html>
<head>
    <title>Pidancode - Home</title>
    <link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">
</head>
<body>
    <h1>Pidancode</h1>
    <p>Welcome to our website!</p>
    <script type="text/javascript" src="{% static 'js/main.js' %}"></script>
</body>
</html>

这里使用了 Django 的模板引擎,并通过 {% static %} 模板标签来加载静态文件。

需要注意的是,STATICFILES_DIRS 和 STATIC_ROOT 的区别在于,前者是 Django 在开发阶段用来搜索静态文件的路径列表,而后者是用于部署阶段将静态文件集中存储的目录。因此,在部署阶段,需要将 STATICFILES_DIRS 中的静态文件复制到 STATIC_ROOT 目录下。

相关文章