es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Funciona django-ckeditor con django-modeltranslation?

Utilizo django-modeltranslation para traducir algunos campos de texto a varios idiomas. Esto funciona bien. Ahora quiero implementar django-ckeditor y esto también funciona para campos no traducidos. El problema está en los campos que están traducidos (estos campos están registrados en translation.py).

¿Alguien está utilizando estas dos aplicaciones juntas? ¿Hay algo que hacer para que los campos de texto traducidos funcionen con ckeditor?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en django, django-ckeditor y django-modeltranslation, sugiero probar los siguientes pasos para hacer que los campos de texto traducidos funcionen con ckeditor:

    1. Asegúrate de haber instalado tanto django-ckeditor como django-modeltranslation en tu proyecto.
    2. En el archivo models.py de tu aplicación, asegúrate de registrar los campos que deseas traducir utilizando el método register de django-modeltranslation. Por ejemplo:

    from modeltranslation.translator import register, TranslationOptions
    from .models import Article
    
    @register(Article)
    class ArticleTranslationOptions(TranslationOptions):
        fields = ('title', 'body',)  # Lista de campos para traducir
    
    1. En el archivo settings.py de tu aplicación, configura django-ckeditor para usar la configuración de CKEDITOR. Por ejemplo:
    # Configuración de CKEditor
    CKEDITOR_CONFIGS = {
        'default': {
            'toolbar': 'full',
            'height': 300,
        },
    }
    
    1. En el archivo forms.py de tu aplicación, define un formulario que extienda ckeditor_uploader.widgets.CKEditorUploadingWidget y utiliza este formulario para renderizar tu formulario de modelo en tus vistas. Por ejemplo:
    from django import forms
    from ckeditor_uploader.widgets import CKEditorUploadingWidget
    from .models import Article
    
    class ArticleForm(forms.ModelForm):
        class Meta:
            model = Article
            fields = ('title', 'body',)
            widgets = {
                'title': forms.TextInput(attrs={'class': 'form-control'}),
                'body': CKEditorUploadingWidget(),
            }
    

    Siguiendo estos pasos, los campos de texto traducidos deberían funcionar con ckeditor en tu proyecto django.

Comments are closed.