#django #django-admin #tinymce
#django #django-admin #tinymce
Вопрос:
У меня есть форма в моем приложении, которая имеет content
атрибут и использует tinymce следующим образом:
from tinymce.models import HTMLField
class SomeModel(models.Model):
content = HTMLField('Content', null=True)
Я также настроил свой tinymce в установленных приложениях и зарегистрировал его URL.
В моем приложении он работает нормально, и пользователь может редактировать и вводить свой контент с помощью tinymce. но когда я регистрирую эту модель для администратора, все поля отображаются нормально, кроме содержимого, которое, похоже, не имеет никакого способа ввода (и поскольку это обязательное поле, это означает, что я не могу вводить новые элементы через администратора).
как я могу сделать tinymce также доступным на экране администратора?
бонусный вопрос: есть ли безопасный способ использовать tinymce, позволяя пользователям использовать tinymce (в настоящее время я использую form | safe
, что, как я предполагаю, на самом деле небезопасно.
Ответ №1:
Создать ModelForm
class BlogForm(ModelForm):
body = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30}))
Admin.py
from models import Blog
from forms import BlogForm
class BlogAdmin(ModelAdmin):
form = BlogForm()
Комментарии:
1. У меня уже была форма. и все остальные поля из этой формы отображаются, кроме tinymce. Я попытался создать класс администратора, как вы показали, и установить атрибут form для моей формы. не помогло
2. смотрите, нет никакой другой конфигурации, посмотрите на свой код, там должна быть меньшая ошибка
3. это не очень полезно