一、业务功能分析

  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



01-06 13:19