问题
使用django-tinymce的tinymce_models.HTMLField()
时,Django的管理“添加”页面中不会显示模型字段的名称。 Name:
字段位于图片中,但Description
字段不在。如何在TinyMCE编辑器上显示Description
文本?
模型
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)
版本
一串代码
https://codepen.io/anon/pen/xgqRqM
HTML直接来自Django管理页面上的Chrome开发者工具,用于添加此模型。 CSS既是Django又是Tiny MCE。 JS来自Tiny MCE主题。 它似乎没有在Codepen上正确呈现,所以我不确定它会有多么有用......
如果我能提供更多澄清信息,请告诉我。
更多图片
答案 0 :(得分: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就足够了。