кто подскажет как заиметь такой инструмент в django admin

shkuin

Новичок
Пользователь
Апр 16, 2020
11
1
3
Подскажите пожалуйста ,что необходимо сделать, чтобы данный редактор текста (на картинке обведенный синим) появился в админке джанго? крайне сильно буду благодарен!!!!!!!!
 

Вложения

  • 2020-04-24_15-29-35.png
    2020-04-24_15-29-35.png
    57,9 КБ · Просмотры: 7

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Это WYSIWYG редактор. Для django можно использовать например django-tinymce.
Вот ссылка на документацию: https://django-tinymce.readthedocs.io/en/latest/index.html.
Коротко о том как установить:
pip install django-tinymce
- добавить в setting.py
Python:
INSTALLED_APPS  = [

...

'tinymce',

]
- в admin.py примерно такой код:
Python:
from django.contrib import admin
from .models import Post
from tinymce.widgets import TinyMCE


@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    list_display = ('title', 'body')

    formfield_overrides = {    
        models.TextField: {'widget': TinyMCE(attrs={'cols': 80, 'rows': 30})},
    }
в шаблонах чтобы выводить текст с html разметкой можно добавить фильтр safe, только это не безопасно и делать это можно только если статьи добавляются из админки, а не пользователями.
Python:
{{ post.body|safe }}
чтобы выводить просто текст без тегов используйте фильтр striptags
Python:
{{ post.body|striptags }}
 
Последнее редактирование:

shkuin

Новичок
Пользователь
Апр 16, 2020
11
1
3
Это WYSIWYG редактор. Для django можно использовать например django-tinymce.
Вот ссылка на документацию: https://django-tinymce.readthedocs.io/en/latest/index.html.
Коротко о том как установить:
pip install django-tinymce
- добавить в setting.py
Python:
INSTALLED_APPS  = [

...

'tinymce',

]
- в admin.py примерно такой код:
Python:
from django.contrib import admin
from .models import Post
from tinymce.widgets import TinyMCE


@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    list_display = ('title', 'body')

    formfield_overrides = {   
        models.TextField: {'widget': TinyMCE(attrs={'cols': 80, 'rows': 30})},
    }
в шаблонах чтобы выводить текст с html разметкой можно добавить фильтр safe, только это не безопасно и делать это можно только если статьи добавляются из админки, а не пользователями.
Python:
{{ post.body|safe }}
чтобы выводить просто текст без тегов используйте фильтр striptags
Python:
{{ post.body|striptags }}
Здравстуйте, я хотел вас БЕЗУМНО ПОБЛАГОДАРИТЬ, я не мог найти решения неделю, а вы мне помогли, спасибо ещё раз огромное, вы лучший!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
  • Мне нравится
Реакции: Student

Форум IT Специалистов