Integrando TinyMCE con Django

TinyMCE es un editor de texto enriquecido en línea que es totalmente flexible y ofrece personalización. se utiliza principalmente para obtener datos dinámicos, como artículos en GFG y mucho más, no hay una base de datos estática para publicaciones

Instalación –

Para integrarlo con la aplicación web o el sitio web de Django, primero debe instalar su biblioteca pip

pip install django-tinymce

Integrar con el Proyecto Django –

agregue tinyMCE como aplicación individual en setting.py

INSTALLED_APPS = [
     ...
    'tinymce',
     ... 
]

También agregue la configuración predeterminada para el editor tinyMCE en settings.py

TINYMCE_DEFAULT_CONFIG = {
    'cleanup_on_startup': True,
    'custom_undo_redo_levels': 20,
    'selector': 'textarea',
    'theme': 'silver',
    'plugins': '''
            textcolor save link image media preview codesample contextmenu
            table code lists fullscreen  insertdatetime  nonbreaking
            contextmenu directionality searchreplace wordcount visualblocks
            visualchars code fullscreen autolink lists  charmap print  hr
            anchor pagebreak
            ''',
    'toolbar1': '''
            fullscreen preview bold italic underline | fontselect,
            fontsizeselect  | forecolor backcolor | alignleft alignright |
            aligncenter alignjustify | indent outdent | bullist numlist table |
            | link image media | codesample |
            ''',
    'toolbar2': '''
            visualblocks visualchars |
            charmap hr pagebreak nonbreaking anchor |  code |
            ''',
    'contextmenu': 'formats | link image',
    'menubar': True,
    'statusbar': True,
}


aquí, en el diccionario de configuración, puede personalizar el editor cambiando valores como el tema y muchos más.

la configuración de TinyMCE está hecha ahora para ponerlo en acción, necesitamos el archivo Forms.py con algunos valores requeridos, como el tamaño necesario del campo de entrada, se usa al mostrar el contenido en la página html

from django import forms
from tinymce import TinyMCE
from .models import _your_model_
  
  
class TinyMCEWidget(TinyMCE):
    def use_required_attribute(self, *args):
        return False
  
  
class PostForm(forms.ModelForm):
    content = forms.CharField(
        widget=TinyMCEWidget(
            attrs={'required': False, 'cols': 30, 'rows': 10}
        )
    )
    class Meta:
        model = _your_model_
        fields = '__all__'

El último paso es agregar htmlfield a su modelo, también puede usar diferentes campos, échales un vistazo en su sitio web oficial.

 
...
from tinymce.models import HTMLField 
  
  
class article(models.Model):
    ...
    content =  HTMLField()

Y todo listo, solo haga migraciones para ver los cambios en la página de administración ejecutando los siguientes comandos

 
python manage.py makemigrations
python manage.py migrate

Ahora verifíquelo en el área de administración ejecutando el servidor 

python manage.py runserver

Producción –

aquí cómo se verá puede tener una apariencia diferente 

html field

Editor en el área de administración

Publicación traducida automáticamente

Artículo escrito por darsh98 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *