сохранение файлов изображений в модели Django

0

Я хочу хранить много изображений в таблице (модель django) под атрибутом imgsrc. Как я могу это сделать? я видел много онлайн-материалов, но я не получаю полную информацию в любом месте. Какие изменения мне нужно сделать в settings.py и где я храню файлы изображений?...

часть models.py

class elementdetails(models.Model):
    sid=models.IntegerField()
    imgsrc=models.ImageField()
    soundsrc=models.FileField()
    sounddesc=models.CharField(max_length=20)
  • 0
    Пожалуйста, оставьте свои мнения и шаблон с формой.
Теги:

1 ответ

0

Настройте MEDIA_ROOT и MEDIA_URL в settings.py:

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

В urls.py добавьте:

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

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Убедитесь, что в корневом каталоге есть media каталог.

Теперь вы можете использовать uploaded_to в своей модели для хранения этих images в каталоге.

class elementdetails(models.Model):
    sid=models.IntegerField()
    imgsrc=models.ImageField(upload_to='elements/')
    soundsrc=models.FileField()
    sounddesc=models.CharField(max_length=20)

Чтобы получить изображение в templates, используйте:

<img src="{{ object.imgsrc.url }}" alt="image">

Если вы хотите загружать изображения в формы, обязательно используйте enctype="multipart/form-data" в template:

<form action="" method="post" enctype="multipart/form-data">

Кроме того, убедитесь, что в views используется:

form = Form(request.POST, request.FILES)

Это будет работать.

  • 0
    если у меня есть следующая структура: mysite / myapp /, то приведенный выше urls.py относится к myapp, верно? а также каталог СМИ сделан где? в mysite или myapp?
  • 0
    да, urls.py в вашем myapp , и media каталог в mysite .
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню