我似乎找不到任何方法来改变 TinyMCE 中的编辑器大小。 我在 Django 管理中编辑网站上的帖子,为了更轻松地我寻找一个比文本字段更好的编辑器。我成功安装了TinyMCE,但是编辑器很小,这使得编辑非常烦人。
这是我的模型.py
from django.db import models
from tinymce.models import HTMLField
class Post(models.Model):
title = models.CharField(max_length=140)
# body = models.TextField()
date = models.DateTimeField()
body = HTMLField()
def __str__(self):
return self.title
这是我的 admin.py:
from django.contrib import admin
from blog.models import Post
admin.site.register(Post)
这是我的 urls.py:
from django.conf.urls import url, include
from django.views.generic import ListView, DetailView
from .models import Post
urlpatterns = [
url(r'^$', ListView.as_view(
queryset=Post.objects.all().order_by("-date")[:25],
template_name='blog/blog.html')),
url(r'^(?P<pk>\d+)$',
DetailView.as_view(model=Post,
template_name='blog/post.html')),
]
过去 2 小时我一直在尝试和谷歌搜索,但我无法弄清楚。
有人可以帮助我吗? 谢谢。
正如文档(http://django-tinymce.readthedocs.io/en/latest/installation.html#configuration)中所述,有
TINYMCE_DEFAULT_CONFIG
设置可用于配置编辑器。只需在此处查找可用选项:https://www.tinymce.com/docs/configure/editor-appearance/。
就你而言,我认为这样的方法可能有效:
TINYMCE_DEFAULT_CONFIG = {
'theme': "simple", # default value
'relative_urls': False, # default value
'width': '100%',
'height': 300
}
将其放入您的settings.py
TINYMCE_DEFAULT_CONFIG 字典需要在settings.py 文件中设置。
TINYMCE_DEFAULT_CONFIG = {
'theme': "advanced",
'width' : 758,
'height' : 118,
}
这将改变tinymce编辑器的宽度和高度。
我想要做到这一点 - 更改 TinyMCE 管理小部件大小 - 但不更改所有小部件的整个/默认配置。这是我的解决方案:
class SomeModelClassAdmin(admin.ModelAdmin):
# ...
def formfield_for_dbfield(self, db_field, **kwargs):
if db_field.name == "description":
return db_field.formfield(
widget=TinyMCE(
mce_attrs={"height": "200"},
)
)
return super().formfield_for_dbfield(db_field, **kwargs)
TLDR:在模型管理类中的
admin.py
中,用上述内容覆盖 formfield_for_dbfield
。
这只会更改名为
description
的模型字段的高度,而不是所有管理 tinycme 小部件的高度。希望这会有用!我花了一段时间才弄清楚:-)