【问题标题】:How can i display either video or image based on file type in django如何在 django 中根据文件类型显示视频或图像
【发布时间】:2019-11-13 10:05:43
【问题描述】:

我的网站的一部分允许用户上传图片和视频,就像 facebook 或 instagram 一样,用户可以上传视频或图片,它将根据文件扩展名类型在模板上呈现。无论用户上传什么图片或视频,都应该在模板上呈现。我正在使用 Django。

models.py

views.py

index.html

【问题讨论】:

标签: python django django-templates


【解决方案1】:

首先你需要将你的媒体目录加入到你的应用中

你可以这样做:

首先你需要在你的Setting.py中添加这个

MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASEDIR,'your folder directory')

例如应用程序/媒体之类的

那么你需要创建媒体网址,方法如下:

然后你需要在你的根目录和应用程序 urls.py 中添加

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

urlpatterns = [
    path('your_url_link', views.your_view_name,name='your_url_name'),

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

然后你需要在你的 Html 文件中添加这个

<img src='{{ context.Image.url }}'>

#Context 表示您的返回对象 Dictionary In Image Add Your Model Image Field Name

您可以在此处查看更多详细信息:

https://docs.djangoproject.com/en/2.2/ref/models/fields/#django.db.models.fields.files.FieldFile.url

【讨论】:

  • 感谢您的评论。当用户上传视频时,我正在尝试在模板上显示图像,当用户上传视频时,我正在尝试在模板上显示图像和视频...类似于 if else 语句处理两个进程
  • 你可以使用这个代码,你可以看到它会起作用
猜你喜欢
  • 2019-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-03
相关资源
最近更新 更多