python 后台 安装 富文本编辑

前言

  当然需要安装一些后台只能输入一些文本编辑器,不然这样多少不美观呀

   当然python 有 safe 可以把后台的标签转换 ,

    还有 striptags   这个是换成html 格式的,但不会加粗或者啥之类的 

安装编辑器

你的项目:我的是mysite

>>pip install django-ckeditor

他会自动帮你安装一个django-js-asset 这个js解释器 ,哈

然后在

注册应用'ckeditor'

mysite\setting.py 修改

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',#引入本地相对路径
    'blog',
    'ckeditor', #添加这个
]

配置model

在blog \models.py下的修改

把字段改成 RichTextField

from django.db import models
from django.contrib.auth.models import User
from ckeditor.fields import  RichTextField  #引入库
# Create your models here.

class BlogType(models.Model):
    type_name = models.CharField(max_length=20)
    def __str__(self):
        return self.type_name

class Blog(models.Model):
    title = models.CharField(max_length=50)
    blog_type = models.ForeignKey(BlogType, on_delete=models.DO_NOTHING)
    #context = models.TextField()
    context = RichTextField()  #替换便签
    author = models.ForeignKey(User, on_delete=models.DO_NOTHING)
    created_time = models.DateTimeField(auto_now_add=True)
    last_updated_time = models.DateTimeField(auto_now=True)
    def __str__(self):
        return "<Blog: %s>" % self.title

    class Meta:
        ordering = ['-created_time']  # 按照created_time倒序排序

在操作和更新数据库

python manage.py makemigrations
python manage.py migrate

在运行 

python manage.py runserver

打开后台界面出现下方的文本 :完美

修改繁体字  -> 简体字

mysite\setting.py 修改

LANGUAGE_CODE = 'zh-hans'

安装图片上传功能

 目录下输入:

pip install pillow

在注册 ckeditor_oploader

mysite/settings.py

  最后一行加入 ‘ckeditor_oploader’

配置图片url

mysite/settings.py

# media
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

# 配置ckeditor
CKEDITOR_UPLOAD_PATH = 'upload/'

然后新建文件夹

mysite 下 media 文集夹

上传的图片就会到media 这个文件夹里面了

  配置路径

mysite/urls.py

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import  static 
from . import views

urlpatterns = [
    path('', views.home, name='home'),
    path('admin/', admin.site.urls),
    path('ckeditor',include('ckeditor_uploader.urls')), #这个
    path('blog/', include('blog.urls')),
]

urlpatterns += static(settings.MEDIA_URL, document_root= settings.MEDIA_ROOT)  #这个

在把字段改为RichTextUploadingField

在blog \models.py下的修改

from ckeditor_uploader.fields import  RichTextUploadingField
...
    #context = models.TextField()
    context = RichTextUploadingField()

最后 在操作和更新数据库

数据迁移  在操作和更新数据库

python manage.py makemigrations
python manage.py migrate

在运行 

python manage.py runserver

在上传图片  ,选择图片 ,上传到服务器上 ,完美 哈哈

    Django 也是依赖 第3方库来开发的,哈哈 node 有点相似 

ok ,继续加油吧

猜你喜欢

转载自www.cnblogs.com/yf-html/p/9349594.html