Как добавить функцию загрузки нескольких изображений в Wagtail?Python

Программы на Python
Ответить
Anonymous
 Как добавить функцию загрузки нескольких изображений в Wagtail?

Сообщение Anonymous »

Я в основном работаю с сериализаторами Django, Wagtail и API, не используя шаблоны непосредственно для рендеринга HTML. Вместо шаблонов HTML я использую функции API Django и Wagtail для визуализации контента.
В настоящее время я хочу добавить новую функцию: загрузку нескольких изображений на серверную часть. Сейчас, используя Wagtail, я могу загружать только одно изображение за раз. Однако нам необходимо изменить эту функцию, чтобы можно было загружать несколько изображений одновременно.
Позвольте мне прояснить свою точку зрения по поводу загрузки изображения. где wagtail/images/muliple/add, где пользователь может добавить несколько изображений, но в случае по умолчанию мы можем добавлять только одно изображение за раз. Мне нужно, чтобы возможность загрузки нескольких изображений была реализована в структуре по умолчанию.< /p>
Моя структура кода такая:
===================== ================
blocks.py:

from wagtail.images.blocks import ImageChooserBlock
from wagtail.models import Site, Page
from cms.core.models import get_rootless_url_path
import re
from wagtail.images.models import Image
from wagtail.templatetags.wagtailcore_tags import richtext

class ImageChooserRenditionsAPIBlock(ImageChooserBlock):
def get_api_representation(self, value, context=None) -> dict:
from .serializers import ImageSerializer

return ImageSerializer(value).data

class GreeterBlock(StructBlock):
label = TextBlock()
# description = TextBlock()
description =CustomRichTextBlock(features=['h1', 'h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'image', 'code', 'blockquote'] )
image = ImageChooserRenditionsAPIBlock(required=False)
video = CustomDocumentChooserBl`ock(required=False)
cards = StreamBlock(
local_blocks=(("cards", CardBlock()),),
required=False,
)

```
serializer.py:

class ImageSerializer(serializers.ModelSerializer):
class Meta:
model = get_image_model()
# fields = ("id", "title", "width", "height", "renditions")
fields = ("id", "title", "width", "height", "file")

```

urls.py:

from django.urls import path, include
from wagtail import urls as wagtail_urls
from wagtail.admin import urls as wagtailadmin_urls
from wagtail.documents import urls as wagtaildocs_urls
from wagtail.api.v2.router import WagtailAPIRouter
from wagtail.documents.api.v2.views import DocumentsAPIViewSet
from wagtail.images.api.v2.views import ImagesAPIViewSet
from cms.meta import urls as meta_urls
from .views import CustomPagesAPIViewSet

api_router = WagtailAPIRouter("wagtailapi")
api_router.register_endpoint("pages", CustomPagesAPIViewSet)
api_router.register_endpoint("images", ImagesAPIViewSet)
api_router.register_endpoint("documents", DocumentsAPIViewSet)

urlpatterns = [
path("", include(wagtailadmin_urls)),
path("content/documents/", include(wagtaildocs_urls)),

]

api_urlpatterns = [
path("", api_router.urls),
path("meta/", include(meta_urls.urlpatterns)),
]

```



Подробнее здесь: https://stackoverflow.com/questions/790 ... in-wagtail
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»