【富文本的安装与使用】
【环境里安装富文本插件】
CMD下 输入:workon blog2019 输入:pip install django-ckeditor
等待安装完成!
【安装pillow】
图形处理库,有它才能处理图片。
在CMD内接着输入这个命令:pip install pillow
安装完成后可以关闭CMD了。
【ckeditor 的配置】
settings.py里,找到 INSTALLED_APPS
将富文本插件注册进去,如下:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
'ckeditor',#富文本
'ckeditor_uploader'#上传
]
【配置图片存放路径及文件夹】
settings.py里,找到static,在它的下面或你认为可以的地方,静态文件一般都在最下面,写如下代码:
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/') #设置静态文件路径为主目录下的media文件夹 MEDIA_URL = '/media/' #url映射
#富文本图片存放路径 CKEDITOR_UPLOAD_PATH = "post_images" #富文本选项(非必要) CKEDITOR_CONFIGS = { 'default': { 'toolbar': ( ['div','Source','-','Save','NewPage','Preview','-','Templates'], ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'], ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], ['Form','Checkbox','Radio','TextField','Textarea','Select','Button', 'ImageButton','HiddenField'], ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], ['Link','Unlink','Anchor'], ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'], ['Styles','Format','Font','FontSize'], ['TextColor','BGColor'], ['Maximize','ShowBlocks','-','About', 'pbckcode'], ), } }
【富文本urls.py里配置富文本路由】
blog2019/urls.py:
from django.contrib import admin from django.urls import path,include from blog import urls
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include(urls)),
path('blog/', include(urls)),
path('ckeditor/', include('ckeditor_uploader.urls')),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
【blog/models.py:应用富文本】
1.首先引入:
from ckeditor_uploader.fields import RichTextUploadingField
2.将内容字段修改一下:
class Post(models.Model):
title = models.CharField(max_length=100,verbose_name='文章标题')
context = RichTextUploadingField(verbose_name='文章内容')
启动程序,进入后台,看看效果吧。
点图片按钮,测试图片是否能上传成功。
10
登陆后方可评论