Domanda

Come posso modificare l'opzione content_css in django-tinymce per vari oggetti?Voglio dire che quando uso tinymce per model1 allora content_css è model1.css e quando per model2 allora model2.css. Io uso

È stato utile?

Soluzione

Ho scoperto che posso passare argomenti extra per tiny_mce nella classe Meta:

class Meta:
        model = MyModel
        widgets = {
            'field_name': TinyMCE(mce_attrs={'content_css': "style.css"}),
        }

Altri suggerimenti

Grazie per la risposta di szaman, cercherò di descrivere il processo per i principianti nelle nuove versioni di Django (1.9), come aggiungere file css personalizzati al campo denominato " testo " nel Pubblica il modello nell'amministratore di Django

  1. Cambia il tipo di campi in models.py in HTMLField

    from tinymce.models import HTMLField
    
    class Post(models.Model):
        title = models.TextField(default='')
        subtitle = models.TextField(default='')
        text = HTMLField(default='')
    
  2. Nell'applicazione con il modello richiesto, aggiungi al file admin.py:

    @admin.register(Post)  # decorator for adding Django admin for Post
    class PostAdmin(admin.ModelAdmin):
        form = PostForm  # attach custom form
    
  3. Aggiungi la classe del modulo

    from tinymce.widgets import TinyMCE
    
    class PostForm(forms.ModelForm):
    
        class Meta:
            model = Post
            fields = '__all__' # required in Django (>=1.8)
            widgets = {
                'text': TinyMCE(mce_attrs={'content_css': ["path_to_css_file",]}),
            }
    
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top