изменить содержимое django-tinymce css для различных объектов - PullRequest
1 голос
/ 20 октября 2011

Как я могу изменить параметр content_css в django-tinymce для различных объектов? Я имею в виду, что когда я использую tinymce для model1, то content_css - это model1.css, а когда для model2 - model2.css. Я использую

Ответы [ 2 ]

4 голосов
/ 08 ноября 2011

Я обнаружил, что могу передать дополнительные аргументы для tiny_mce в мета-классе:

class Meta:
        model = MyModel
        widgets = {
            'field_name': TinyMCE(mce_attrs={'content_css': "style.css"}),
        }
1 голос
/ 17 января 2016

Спасибо за ответ szaman, я попытаюсь описать процесс для начинающих в новых версиях Django (1.9), как добавить пользовательские css файлы в поле с именем ' text ' в Пост модель в админке Django

  1. Изменить тип полей в models.py на HTMLField

    from tinymce.models import HTMLField
    
    class Post(models.Model):
        title = models.TextField(default='')
        subtitle = models.TextField(default='')
        text = HTMLField(default='')
    
  2. В приложении с необходимой моделью добавьте в файл admin.py:

    @admin.register(Post)  # decorator for adding Django admin for Post
    class PostAdmin(admin.ModelAdmin):
        form = PostForm  # attach custom form
    
  3. Добавить класс формы

    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",]}),
            }
    
...