2017-01-20 68 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

相關問題