Django - TinyMCE - 管理 - 如何更改编辑器大小?

问题描述 投票:0回答:3

我似乎找不到任何方法来改变 TinyMCE 中的编辑器大小。 我在 Django 管理中编辑网站上的帖子,为了更轻松地我寻找一个比文本字段更好的编辑器。我成功安装了TinyMCE,但是编辑器很小,这使得编辑非常烦人。

Here's how it looks like.

这是我的模型.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 小时我一直在尝试和谷歌搜索,但我无法弄清楚。

有人可以帮助我吗? 谢谢。

python django tinymce django-tinymce
3个回答
10
投票

正如文档(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


2
投票

TINYMCE_DEFAULT_CONFIG 字典需要在settings.py 文件中设置。

TINYMCE_DEFAULT_CONFIG = {
    'theme': "advanced",
    'width' : 758,
    'height' : 118,
}

这将改变tinymce编辑器的宽度和高度。


0
投票

我想要做到这一点 - 更改 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 小部件的高度。希望这会有用!我花了一段时间才弄清楚:-)

© www.soinside.com 2019 - 2024. All rights reserved.