一、1.使用html丰富页面

需要在模板中增加过滤器才能正确显示。否则页面会出现html标签。safe表示安全。
{{ blog.content | safe }}
在博客列表中增加过滤器,去掉标签只显示内容。
<p>{{ blog.content | striptags | truncatechars:100 }}</p>
2.富文本编辑器选择:使用django-ckeditor

3.安装django-CKeditor

4.插入图像方法--添加上传功能。pillow处理图片库。

配置settings,在mysite中创建media文件夹,用于保存上传文件。ckeditor会自动在media中创建upload文件夹。
#media 配置 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR,'media') #配置ckeditor CKEDITOR_UPLOAD_PATH = 'upload/' # 自定义参数 EACH_PAGE_NUMBER=7
配置URL,在总路由中增加
path('ckeditor',include('ckeditor_uploader.urls')),
# 相关设置都可以在http://pypi.python.org/pypi页面找到相关说明。
把media访问路径加进来。导入static和settings。
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)
修改models字段,RichTextField字段不允许上传文件。改为RichTextUploadingField。
导入做了变化 from ckeditor_uploader.fields import RichTextUploadingField
最后做数据库迁移。
浙公网安备 33010602011771号