📜  在 django 中添加静态文件 - Python (1)

📅  最后修改于: 2023-12-03 14:50:54.335000             🧑  作者: Mango

在 Django 中添加静态文件 - Python

静态文件在 web 开发中起着至关重要的作用,其提供了网站所需的各种资源,如 CSS、JS、图像、字体等。本篇文章将介绍在 Django 中添加静态文件的三种方法。

方法1:使用静态文件前缀

在 Django 中,可以通过设置静态文件前缀来访问静态文件。在 settings.py 文件中添加以下代码:

STATIC_URL = '/static/'

这将指定静态文件的 URL 前缀为 /static/。例如,如果有一个静态文件名为 style.css,则其 URL 将为 /static/style.css

然后,在 Django 的入口 URLconf 中添加以下代码:

from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
  # ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

其中,static() 函数的第一个参数是静态文件的 URL 前缀,第二个参数是静态文件所在的目录。在本例中,静态文件所在的目录为 STATIC_ROOT,也就是 settings.py 文件中指定的静态文件目录。

方法2:使用静态文件处理器

Django 还提供了一个静态文件处理器,能够自动地处理静态文件请求。在 settings.py 文件中添加以下代码:

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

STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")

然后,在 Django 的入口 URLconf 中添加以下代码:

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

在本例中,STATICFILES_DIRS 指定了存放静态文件的目录,STATIC_ROOT 指定了收集静态文件的目录。这两个目录应该是不同的。

方法3:使用 CDN

CDN(内容分发网络)是一种跨地域、分布式部署的网络,其目的是在保证快速访问网站的同时,减少服务器负载。Django 支持使用 CDN 加载静态文件。在 settings.py 文件中添加以下代码:

STATIC_URL = 'https://cdn.example.com/static/'

在本例中,STATIC_URL 指定了静态文件的 CDN URL。这将使浏览器从静态文件的 CDN 加载静态文件,从而减轻服务器负载。

以上三种方法都是在 Django 中添加静态文件的常用方法。根据项目需求选择合适的方法即可。

参考资料: