Django Db 图像视频

Mac*_*hon 4 database django store image

如何通过 Django 将图像、视频和音频存储在 Mysql 数据库中?

我知道我可以存储图像、视频、音频的链接,或者图像、视频、音频本身。

但这到底是如何运作的呢?

我了解模型以及它们如何通过manage.py 创建表。但是有关于如何通过 Django 创建图像(例如 jpg、tiff 等)数据库的好教程吗?

谢谢

L。

小智 5

您需要的模型 models.py

from django.db import models

class Video(models.Model):
    name= models.CharField(max_length=500)
    file= models.FileField(upload_to='videos/', null=True, verbose_name="")
Run Code Online (Sandbox Code Playgroud)

你需要forms.py的表单类

from .models import Video

class VideoForm(forms.ModelForm):
    class Meta:
        model= Video
        fields= ["name", "file"]
Run Code Online (Sandbox Code Playgroud)

内部views.py

from django.shortcuts import render
from .models import Video
from .forms import VideoForm

def showvideo(request):

    firstvideo= Video.objects.last()

    videofile= firstvideo.file.url


    form= VideoForm(request.POST or None, request.FILES or None)
    if form.is_valid():
        form.save()

    context= {'file_url': videofile,
              'form': form
              }

    return render(request, 'videos.html', context)
Run Code Online (Sandbox Code Playgroud)

最后是你的模板:videos.html

<body>

<h1>Video Uploader</h1>
<form enctype="multipart/form-data" method="POST" action="">
    {% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Upload"/>
</form>

<br>
<video width='600' controls>
    <source src='{{ file_url }}' type='video/mp4'>
    File not found.
</video>
<br>
</p>

</body>
Run Code Online (Sandbox Code Playgroud)