前言

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

当然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 ,继续加油吧

python 后台 安装 富文本编辑的更多相关文章

  1. KindEditor富文本编辑框和BeautifulSoup的基本使用

    KindEditor富文本编辑框 1.进入官网 2.下载 官网下载:http://kindeditor.net/down.php 本地下载:http://files.cnblogs.com/files ...

  2. python的安装,IDLE基本操作

    §一.安装Python 1. 下载Active Python安装包 根据你机器型号download Python,32b选择for windows X86,64b选择for window 64b 2. ...

  3. 富文本编辑,xss攻击

    富文本编辑 KindEditor 在线HTML编辑器 http://kindeditor.net/doc.php 下载成功,解压放到项目中去 查看官方文档进行操作 xss攻击 XSS攻击全称跨站脚本攻 ...

  4. SNF快速开发平台MVC-EasyUI3.9之-ueditor富文本编辑在 asp.net MVC下使用步骤

    mvc项目中用到了这个富文本编辑就试着把遇到的问题个使用步骤在这里记录一下,希望大家少走弯路. 1.首先我们先下载net版本的uediot 2.然后把整个文档拷贝到我们的项目中,记得是整个 把下载的文 ...

  5. 使用Flask-CKEditor集成富文本编辑框

    使用Flask-CKEditor集成富文本编辑框 富文本编辑器即所见即所得编辑器,类似于文本编辑软件.它提供一系列按钮和下拉列表来为文本设置格式,编辑状态的文本样式即最终呈现出来的样式.在Web程序中 ...

  6. django admin富文本编辑kindeditor

    最近在做django项目,需要在后台管理系统加入富文本编辑 其实加入富文本编辑很简单,就是导入几个编辑器的js脚本到admin页面内,下面说说怎么做 第一步,下载想要的富文本编辑器如kindedito ...

  7. tinymce + vue 富文本编辑

    用texterea最多支持换行,如果文本信息想要更加丰富一些,比如增加格式样式,比如增加图片,textarea就爱莫能助了 在网上搜寻了一番,发现tinymce是比较方便好用的一款富文本编辑 http ...

  8. Python下载安装及验证

      目录: 一.Python介绍 二.python安装及验证 一.Python介绍 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个 ...

  9. 微信小程序使用wxParse实现接入富文本编辑

    简介 微信小程序中比如活动说明,简介这样的图文介绍说明页面,后台通常配置成富文本编辑框,由后台直接输入内容,然后在小程序界面展现. 但是富文本编辑提取到内容是html格式的,写法与小程序的wxml并不 ...

随机推荐

  1. jdbc 对sqlite的基本操作

    1.向数据库中创建表 public void addTable( String dbpath) { //创建表单的sql语句 String createtablesql= " CREATE ...

  2. Java学习之==>面向对象编程 Part1

    一.面向对象与面向过程 1.面向过程 角度是功能,以方法为最小单位,思考的是具体怎么做. 2.面向对象 角度是抽象,以类为最小单位,思考的是谁来做. 3.示例:“小明去上班” 面向过程 起床,刷牙洗脸 ...

  3. Flex TabNavigator

    1.获取子项个数 TabNavigator.numChildren(int) 2.对于静态的TabNavigator的如何处理权限显示 for(var i:int=0;i <tab.numChi ...

  4. c++ 函数后面有个 const

    非静态成员函数后面加const,类似如下函数: class testClass{ public: void testClass() const{ /*...*/} private: /*...*/ } ...

  5. win server2012r2上发布网站常见错误 "HTTP 错误 500.19 请求的页面的相关配置数据无效" 解决办法

    HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效. 问题“详细错误信息模块 IIS Web Core通知 BeginReque ...

  6. 【css】常用的几种水平垂直居中方式与盒子模型,面试经常问到!

    div水平垂直居中 假设结构为此,2个div嵌套 <div class="box"> <div class="content">< ...

  7. python—004

    一.集合(set) 1.定义:不同的元素组成,无序排列的,可哈希的值(存放不可变类型:数字.字符串.元组) s={1,2,'ww',3,4,5,6,7,8,'ee'}print (type(s))pr ...

  8. Python学习之面向对象(一)

    第六章 面向对象 6.1 面向对象的初识 6.1.1 什么是面向对象 面向过程式编程: ​ 好处:出色的完成所有的需求 ​ 坏处:凡是更改或者增加一条需求,可能整个项目都随之改变 面向对象式编程: 类 ...

  9. 如何解决idea本身的乱码以及解决代码中出现的乱码?

    1:解决idea中控制台的乱码现象(3中方法): 第一种: 如图需要找到idea的安装路径: idea\IntelliJ IDEA 2018.3.2\bin 在这个路径下面有一个文件叫:idea64. ...

  10. Prometheus Querying Function rate() vs irate()

    rate() rate(v range-vector) calculates the per-second average rate of increase of the time series in ...