📅  最后修改于: 2023-12-03 15:00:27.563000             🧑  作者: Mango
在 Django 中,可以使用静态媒体来存储和呈现应用程序中使用的静态文件,如图像、CSS 和 JavaScript 文件。
静态媒体文件包括应用程序共享的全局静态文件和每个应用程序的特定静态文件。 Django 在查找静态文件时按以下顺序搜索每个应用程序:
STATICFILES_DIRS
中定义的目录static
目录默认情况下,Django 会在STATICFILES_DIRS
中搜索名为static
的目录,因此您无需在其中指定。
要配置 Django 以使用静态媒体,请按照以下步骤操作:
settings.py
文件中,设置STATIC_URL
和STATIC_ROOT
变量: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)
这将使 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">