一、业务功能分析
1.业务需求分析
新闻的增删改查
2.功能分析
新闻列表
查询
新增
修改
二、接口设计
1.接口说明:
类目 说明
请求方法 GET
url定义 /admin/newses/
参数格式 查询参数
2.参数说明:
参数名 类型 是否必须 描述
title 字符串 否 要查询的新闻标题
tag 整数 否 要查询的tag_id
is_delete 整数 否 新闻是否可用
3.返回数据
html
三、新闻详情页
1.业务流程分析
根据提供的新闻id,返回新闻的详细,渲染新闻页面。
这里新闻编写部分,我们引入富文本编辑器,所以、引入django-ckeditor插件
2.django-ckeditor
1.介绍
django-ckeditor是一个集成了富文本编辑器ckeditor的插件,利用它可以在django项目中
快速集成富文本编辑器的相关功能。
安装命令: pip install django-ckedito
settings:
INSTALLED_APPS = [
'ckeditor',
'ckeditor_uploader'
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static') 采集完需要注释
#ckeditor所需静态文件路径
CKEDITOR_BASEPATH = "/static/ckeditor/ckeditor/"
#外观按钮
#配置上传路径
#相对于django的媒体文件路径
CKEDITOR_UPLOAD_PATH = 'uploads/'
服务器:根目录下python manage.py collectstatic
路由配置:
path('ckeditor/',include('ckeditor_uploader.urls'))
4.接口设计:
1.接口说明
类目 说明
请求方法 GET
url定义 /admin/news/<int:news_id>
参数格式 路径参数
2.参数说明
参数名 类型 是否必须 描述
news_id 整数 是 要查询的新闻id
3.返回数据
html
四、新闻封面图片上传
1.接口设计
1.接口说明
类目 说明
请求方法 POST
url定义 /admin/upload/
参数格式 form表单
2.参数说明
参数名 类型 是否必须 描述
upload 二进制 是 上传图片
3.返回数据
json数据
{
"errno":'0',
"errmsg": "ok"
"date":{
"url":"/media/666215aaa3d55eaf0c8848a8340174a5.png",
"name":666215aaa3d55eaf0c8848a8340174a5.png",
"uploaded":'1'
}
}
五、新闻更新功能
1.接口设计
1.1接口说明:
类目 说明
请求方法 PUT
url定义 /admin/news/<int:news_id>/
参数格式 路径参数+from表单
1.2参数说明:
参数名 类型 是否必须 描述
news_id 整数 是 需要修改的新闻id
title 字符串 是 需要修改的新闻标题
is_delete 字符串 否 是否删除新闻
digest 字符串 是 新闻摘要
inage_url 字符串 是 封面图片url
tag 整数 是 新闻类型
content 字符串 是 新闻内容
1.3返回数据
如果成功返回json数据
{
'errno':'0',
'errmsg':'ok',
}
如果失败返回渲染了错误信息的html