Django的Db的图片视频

问题描述 投票:4回答:3

我怎么能存储图像,通过Django的视频和音频在MySQL数据库?

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

但如何做到这一点正是工作。

我知道的模型,以及他们如何创建通过manage.py表。但有关于如何创建一个图像一个很好的教程(如JPG,TIFF等)通过Django的数据库。

谢谢

L.

database django image store
3个回答
2
投票

丹尼尔是指这样的事实,存储在DB中的大型二进制文件的效率不高。使用文件系统,而不是 - 看一看的FileField和ImageFileField,其目的是为了处理文件上传:

http://docs.djangoproject.com/en/dev/ref/models/fields/#filefield

存储在数据库中的唯一的事情就是路径的二进制文件。


0
投票

没有,没有这个教程。 Django不支持开箱即用,它的效率极其低下。不这样做。


0
投票

你需要的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="")

Form类需要forms.py

from .models import Video

class VideoForm(forms.ModelForm):
    class Meta:
        model= Video
        fields= ["name", "file"]

里面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)

最后您的模板: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>
© www.soinside.com 2019 - 2024. All rights reserved.