一、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

最后做数据库迁移。

 

posted on 2019-01-01 01:33  南飞雁ht  阅读(75)  评论(0)    收藏  举报