2016-07-27 5 views
0

Я использую wagtail без его шаблонов (я построил API, используя rest-framework). Я хотел бы изменить формат изображений в богатом текстовом редактореWagtail - Измените теги/формат изображения в Rich Text Editor

К примеру, это мой RichText поле прямо сейчас:

<p>test test test</p> 
<p><br/></p><p><embed alt=\"IMG_1232.jpg\" embedtype=\"image\" format=\"test\" id=\"4\"/><br/></p>" 

Вместо этого я хотел бы, чтобы включить только прямую ссылку на изображение и даже лучше для изображения с фильтром, который я определил (с register_image_format). .: например

<p>test test test</p> 
<p><br/></p><p><embed href="/media/IMG_1232.width-400"/><br/></p>" 

Возможно ли это? Я посмотрел в hallo.js, но не уверен, что с ним делать ...

Благодаря

ответ

1

Чтобы получить полный URL для изображений, вставлять и документы, вы должны запустить содержание Richtext блока через тег шаблона richtext filter.

from wagtail.wagtailcore.templatetags import wagtailcore_tags 

rich_text = wagtailcore_tags.richtext(rich_text_source) 

rich_text должно иметь встроенные изображения и изображения с полным URL-адресом.

Использование с ФПИ это будет выглядеть примерно так, если ваши делать это в вашем сериализаторе

from django.contrib.auth.models import User 
from django.utils.timezone import now 
from rest_framework import serializers 
from wagtail.wagtailcore.templatetags import wagtailcore_tags 

class SomeSerializer(serializers.Serializer): 
    rich_text = serializers.SerializerMethodField() 

    def get_rich_text(self, obj): 
     return wagtailcore_tags.richtext(obj.rich_text.source) 
+0

Я не использую шаблоны (я работаю с ФПИ). Теперь я использую поля потока. Вы знаете, если это возможно? Спасибо – Rani

+0

, как я уже упоминал выше, просто передайте источник html функции 'wagtailcore_tags.richtext'. Он расширит URL-адреса для вас –

+0

Изображения не в RichText, а в ImageChooserBlock. Я не уверен, что это возможно, и я должен дважды нажать DB для каждого изображения - один, чтобы получить объект изображения из его идентификатора и один, чтобы получить изображение. благодаря – Rani