2017-01-20 40 views
1

的问题覆盖模型字段说明在管理Django的TinyMCE的HTMLField /加

模型字段的名称中使用django-tinymcetinymce_models.HTMLField()时,是不是在Django管理“添加”页面可见。 Name:字段在图片中,但Description字段不在。我如何在TinyMCE编辑器上显示Description文字?

enter image description here

模型

class Project(models.Model): 
    name = models.CharField(max_length=255) 
    slug = models.SlugField(unique=True, max_length=255) 
    description = tinymce_models.HTMLField() 
    started = models.DateField(blank=True) 

版本

  • 的Django 1.10.4
  • Django的TinyMCE的2.4.0
  • 微小的MCE 4.5.2

A码的一堆

https://codepen.io/anon/pen/xgqRqM

HTML是直接从Chrome开发人员工具Django的管理页面上添加这个模型。 CSS既是Django的,也是Tiny MCE的。 JS来自Tiny MCE主题。 似乎无法在Codepen上正确显示,所以我不确定它会多么有用...

让我知道是否有任何更多的澄清信息,我可以提供。

更多图片

我知道文Description:是在HTML: enter image description here

这家伙被覆盖起来? enter image description here

+1

这真的很详细大声笑很好的工作。 – Bobby

回答

1

是的,一个熟悉的问题。您需要将TinyMCE 4小部件的左边距移至右侧。在我django-tinymce4-lite包我用下面的动态CSS设置控件位置:

/* Fixes TinyMCE 4 widget position in Django admin */ 
.form-row .mce-tinymce { 
    margin-left: {{ margin_left }}px; 
} 
.form-row .mce-fullscreen { 
    margin-left: 0; 
} 

这是生成CSS的观点:

def css(request): 
    """ 
    Custom CSS for TinyMCE 4 widget 

    By default it fixes widget's position in Django Admin 

    :param request: Django http request 
    :type request: django.http.request.HttpRequest 
    :return: Django http response with CSS file for TinyMCE 4 
    :rtype: django.http.HttpResponse 
    """ 
    if 'grappelli' in settings.INSTALLED_APPS: 
     margin_left = 0 
    elif VERSION[0] == 1 and VERSION[1] <= 8: 
     margin_left = 106 # For old style admin 
    else: 
     margin_left = 170 # For Django >= 1.9 style admin 
    return render(request, 'tinymce/tinymce4.css', {'margin_left': margin_left}, content_type='text/css') 

但是,如果你不支持多个版本的Django,具有必要的边际值的静态CSS就足够了。

+0

我最终使用[django-tinymce4-lite](http://romanvm.github.io/django-tinymce4-lite/index.html),它完美无缺地修改任何CSS!非常感谢! – Avantol13

相关问题