文本字段不适用于tinymce小部件

时间:2019-05-20 14:32:38

标签: python django widget tinymce

我想自定义我的管理文件。在管理文件中,我有TextField,我想使用tinymce小部件来更改其视图。一切似乎都很好,因为我没有收到任何错误,但是在管理文件中看不到代码的效果。如果删除“ field_overrides = ...”部分,我会看到正常的文本字段,但是使用此功能后,我看不到任何内容,完全是空字段。

from django.contrib import admin
from .models import Tutorial
from django.db import models
from tinymce.widgets import TinyMCE



class TutorialAdmin(admin.ModelAdmin):

    fieldsets = [
        ("Title/date", {'fields': ["tutorial_title", "tutorial_published"]}),
        ("Content", {"fields": ["tutorial_content"]})
    ]

    formfield_overrides = {
        models.TextField: {'widget': TinyMCE}
        }


admin.site.register(Tutorial,TutorialAdmin)

这是我的模特


from django.db import models
from datetime import  datetime
# Create your models here.
class Tutorial(models.Model):
    tutorial_title=models.CharField(max_length=200)
    tutorial_content=models.TextField()
    tutorial_published=models.DateTimeField("data published",default=datetime.now())

    def __str__(self):
        return self.tutorial_title

这是我的设置文件(必要的部分):


TINYMCE_DEFAULT_CONFIG = {
    'height': 360,
    'width': 1120,
    'cleanup_on_startup': True,
    'custom_undo_redo_levels': 20,
    'selector': 'textarea',
    'theme': 'modern',
    '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,
    }

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'trying.apps.TryingConfig',
    'tinymce',

]

2 个答案:

答案 0 :(得分:0)

我知道您需要答案的时间已经很久了,但对于其他有问题的人,“主题”:“现代” ,改为“主题”:“高级”,解决了部署中的问题

答案 1 :(得分:0)

Daniel步入正轨,原来是现代主题。在settings.py TINYMCE_DEFAULT_CONFIG中将其注释掉,一切正常。不过,将其更改为“高级”并不能解决问题。