在本教程中,您将学习如何在支持 Python 的 Django 模板中使用媒体文件。您的 Web 应用程序经常加载图像、视频等媒体文件,因为它们可以增强用户体验。
默认情况下,Django 使用MEDIA_ROOT和MEDIA_URL设置在本地提供存储文件。
在这里,我简单地逐步解释了如何在 Django 模板中使用媒体文件的示例。
第 1 步:创建项目
在这一步中,我们将使用 django-admin 创建一个新的 django 项目。返回命令行界面并运行以下命令:
django-admin startproject example
第 2 步:创建应用
现在我们将创建一个名为core的应用程序来存储帖子名称列表。我们故意保持基本的东西。使用Control+c停止本地服务器并使用startapp命令创建这个新应用程序。
python3 manage.py startapp core
第 3 步:更新 setting.py
然后在我们的settings.py文件中更新INSTALLED_APPS以通知 Django 有关该应用程序的信息。
settings.py
.... INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'core', ] import os MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = 'media/'
在example/media/images目录中,放置图像文件。假设您在 images 目录中添加了3 个图像。
第 4 步:提供媒体文件
在本节中,我们需要核心应用程序中的urls.py文件,但 Django 不会使用 startapp 命令为我们创建一个文件。使用文本编辑器创建core/urls.py并粘贴下面的代码。
core/urls.py
from django.urls import path from . import views from django.conf import settings from django.conf.urls.static import static urlpatterns = [ path('', views.index, name='index'), ]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
第 5 步:检索媒体文件
core/views.py
import os from django.conf import settings from django.shortcuts import render from django.templatetags.static import static # Create your views here. def index(request): path = settings.MEDIA_ROOT img_list = os.listdir(path + '/images') context = {'images' : img_list} return render(request, "core/index.html", context)
第 6 步:在模板中加载媒体文件
接下来,然后使用您的文本编辑器创建新的模板文件:core/index.html 文件和添加:
core/index.html
{% if images %} {% for image in images %} <img src="{{ MEDIA_URL }}images/{{ image }}" alt="{{ image }}"> {% endfor %} {% else %} <p>No image available.</p> {% endif %}
我希望它能帮助你……