将TinyMCE与Django结合起来

将TinyMCE与Django结合起来

TinyMCE是一个在线富文本编辑器,它具有完全的灵活性,并提供自定义功能。主要用于获取动态数据,如GFG中的文章等,他们没有静态数据库的帖子

安装–

要将其与Django网络应用程序或网站集成,你需要首先安装其pip库

pip install django-tinymce

与Django项目整合 –

在setting.py中添加tinyMCE作为单独的应用程序。

INSTALLED_APPS = [
     ...
    'tinymce',
     ... 
]

同时在settings.py中添加tinyMCE编辑器的默认配置

TINYMCE_DEFAULT_CONFIG = {
    'cleanup_on_startup': True,
    'custom_undo_redo_levels': 20,
    'selector': 'textarea',
    'theme': 'silver',
    'plugins': '''
            textcolor save link image media preview codesample contextmenu
            table code lists fullscreen  insertdatetime  nonbreaking
            contextmenu directionality searchreplace wordcount visualblocks
            visualchars code fullscreen autolink lists  charmap print  hr
            anchor pagebreak
            ''',
    'toolbar1': '''
            fullscreen preview bold italic underline | fontselect,
            fontsizeselect  | forecolor backcolor | alignleft alignright |
            aligncenter alignjustify | indent outdent | bullist numlist table |
            | link image media | codesample |
            ''',
    'toolbar2': '''
            visualblocks visualchars |
            charmap hr pagebreak nonbreaking anchor |  code |
            ''',
    'contextmenu': 'formats | link image',
    'menubar': True,
    'statusbar': True,
}

在配置字典中,你可以通过改变数值来定制编辑器,如主题和更多。

设置TinyMCE已经完成,现在要把它带入行动,我们需要forms.py文件,其中要有一些必要的值,如输入字段的大小,它用于在html页面上显示内容。

from django import forms
from tinymce import TinyMCE
from .models import _your_model_
  
  
class TinyMCEWidget(TinyMCE):
    def use_required_attribute(self, *args):
        return False
  
  
class PostForm(forms.ModelForm):
    content = forms.CharField(
        widget=TinyMCEWidget(
            attrs={'required': False, 'cols': 30, 'rows': 10}
        )
    )
    class Meta:
        model = _your_model_
        fields = '__all__'

最后一步是为你的模型添加htmlfield,你也可以使用不同的字段,在他们的官方网站上查看。

...
from tinymce.models import HTMLField 
  
  
class article(models.Model):
    ...
    content =  HTMLField()

这一切都准备好了,只需通过运行以下命令,在管理页面上看到变化,就可以进行迁移了。

python manage.py makemigrations
python manage.py migrate

现在在管理区通过运行服务器检查它

python manage.py runserver

输出 –

这里是它的外观,它可能有不同的外观。

将TinyMCE与Django结合起来

管理区的编辑器

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Django 教程