📜  django 服务媒体文件夹 - Python (1)

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

Django 服务媒体文件夹

在 Django 中要保存用户上传的图片、音频、视频等文件,一般都会将它们存储在媒体文件夹中,然后使用 Django 自带的 django.contrib.staticfiles 库来服务静态(包括媒体)文件。本文将介绍如何在 Django 中服务媒体文件夹。

1. 在设置中配置媒体文件夹

首先,在 Django 项目的设置文件中设置媒体文件夹的路径和 URL。示例代码如下:

# settings.py
import os

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

上述代码中,将媒体文件夹的路径设置为项目根目录下的 media 文件夹,将媒体 URL 设置为 /media/。根据自己的项目需求修改即可。

2. 在 URL 配置中包含媒体 URL

接下来,在项目的 URL 配置文件中包含媒体 URL。示例代码如下:

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

urlpatterns = [
    # ...
]

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

上述代码中,使用 django.conf.urls.static 库的 static() 函数包含媒体 URL 的路由。

3. 在模板中使用媒体 URL

最后,在 Django 模板中使用媒体 URL 来引用媒体文件。示例代码如下:

<!-- templates/index.html -->
<img src="{{ media_url }}/images/logo.png" alt="Logo">

上述代码中,使用模板变量 media_url 引用媒体文件夹中的图片,并将其显示为网页中的图片。

以上就是在 Django 中服务媒体文件夹的流程,在设置中配置媒体文件夹,将媒体 URL 包含在 URL 配置中,并在模板中使用媒体 URL 引用媒体文件。