📜  django 静态媒体 - Python (1)

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

Django 静态媒体

在 Django 中,可以使用静态媒体来存储和呈现应用程序中使用的静态文件,如图像、CSS 和 JavaScript 文件。

静态文件目录

静态媒体文件包括应用程序共享的全局静态文件和每个应用程序的特定静态文件。 Django 在查找静态文件时按以下顺序搜索每个应用程序:

  1. STATICFILES_DIRS中定义的目录
  2. 每个应用程序中的static目录

默认情况下,Django 会在STATICFILES_DIRS中搜索名为static的目录,因此您无需在其中指定。

配置静态媒体

要配置 Django 以使用静态媒体,请按照以下步骤操作:

  1. settings.py文件中,设置STATIC_URLSTATIC_ROOT变量:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
  1. urls.py文件中添加以下代码:
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... 其他 URL 模式
]

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

这将使 Django 在为开发服务器提供静态媒体文件时搜索STATICFILES_DIRS中的所有目录。

静态文件

要在 Django 中使用静态文件,您可以在 HTML 模板中使用{% static %}模板标记:

{% load static %}
<img src="{% static 'img/logo.png' %}" alt="Logo">

这将在正确的URL前缀后自动生成图像文件的URL。

代码片段
# settings.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

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

urlpatterns = [
    # ... 其他 URL 模式
]

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

# 在模板中使用静态文件
{% load static %}
<img src="{% static 'img/logo.png' %}" alt="Logo">