Django Db Images video - PullRequest
       10

Django Db Images video

4 голосов
/ 25 июня 2010

Как я могу хранить изображения, видео и аудио через Django в базе данных MySQL?

Я знаю, что могу сохранить ссылку на изображение, видео, аудио или изображение, видео, аудио непосредственно.

Но как это точно работает.

Я знаю о моделях и о том, как они создают таблицы через manage.py.Но есть ли хорошее руководство по созданию базы данных изображений (например, JPG, TIFF и т. Д.) Через Django.

Спасибо

L.

Ответы [ 3 ]

2 голосов
/ 29 июня 2010

Даниэль ссылается на тот факт, что хранение больших двоичных файлов в БД неэффективно.Вместо этого используйте файловую систему - взгляните на FileField и ImageFileField, которые предназначены для обработки загрузки файлов:

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

Единственное, что хранится в БД - это путь к двоичному файлу.

0 голосов
/ 12 февраля 2019

Модель вам нужна 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="")

Класс формы, который вам нужен forms.py

from .models import Video

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

inside 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>
0 голосов
/ 25 июня 2010

Нет, учебника по этому вопросу нет. Django не поддерживает его из коробки, и это ужасно неэффективно. Не делай этого.

...