我怎么能存储图像,通过Django的视频和音频在MySQL数据库?
我知道我可以存储链接到图像,视频,音频或图像,视频,音频本身。
但如何做到这一点正是工作。
我知道的模型,以及他们如何创建通过manage.py表。但有关于如何创建一个图像一个很好的教程(如JPG,TIFF等)通过Django的数据库。
谢谢
L.
丹尼尔是指这样的事实,存储在DB中的大型二进制文件的效率不高。使用文件系统,而不是 - 看一看的FileField和ImageFileField,其目的是为了处理文件上传:
http://docs.djangoproject.com/en/dev/ref/models/fields/#filefield
存储在数据库中的唯一的事情就是路径的二进制文件。
没有,没有这个教程。 Django不支持开箱即用,它的效率极其低下。不这样做。
你需要的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>