NodeJS博客实战16

xiaoxiao2021-02-28  43

源码地址:https://github.com/RidingACodeToStray/Nodejs_blog

1)主要功能

分类的列表展示;

分类的修改;

分类的删除;

2)实现思路

从数据库中获取分类,使用模板渲染到页面上;

点击分类修改将该分类的id传到后台,在数据库中根据该id查找对应的分类信息到编辑页面,并对查找不到的信息进行处理,编辑提交需要对提交的分类名称在数据库中进行同名验证;

删除分类直接根据id从数据删除这条数据即可;

1.分类的列表展示:

//分类展示 router.get('/category',function(req,res){ //limit()限制获取的用户条数 //skip()忽略数据的查询 var page = Number(req.query.page) || 1; var limit = 2; var pages = 0; Category.count().then(function(count){ //计算总页数向上取整 pages = Math.ceil(count / limit); //page取值不能超过pages,去总页数和page中的最小值 page = Math.min(page,pages); //page取值不能小于1 page = Math.max(page,1); var skip = (page -1 ) * limit; //从数据中读取所有的用户数据 Category.find().limit(limit).skip(skip).then(function(categories){ // console.log(users); res.render('admin/category_index',{ userInfo:req.userInfo, categories:categories, page:page, count:count, pages:pages, limit:limit }); }); }) })

category_index.html

{% extends 'layout.html' %} {% block main %} <div class="a-userNav"> <span><a href="/">管理首页</a></span> <span> / </span> <span>分类列表</span> </div> <div style="padding-left: 50px;text-align: right;margin-right: 10px;"> <a href="/admin/category/add">添加分类</a> </div> <table class="a-userTable"> <thead> <tr> <th>ID</th> <th>分类名称</th> <th>操作</th> </tr> </thead> <tbody> {% for category in categories %} <tr> <td>{{category._id.toString()}}</td> <td>{{category.name}}</td> <td> <a href="/admin/category/edit?id={{category._id.toString()}}">修改</a> <a href="/admin/category/delete?id={{category._id.toString()}}">删除</a> </td> </tr> {% endfor %} </tbody> </table> {% include 'page.html' %} {% endblock %}

2.分类的修改

//分类修改 router.get('/category/edit',function(req,res){ //获取要修改分类的信息,用表单展示出来 var id = req.query.id || ''; //获取要修改的分类信息 Category.findOne({ _id:id }).then(function(category){ // console.log(category); if(!category){ res.render('admin/error',{ userInfo:req.userInfo, message:'分类信息不存在' }) }else{ res.render('admin/category_edit',{ userInfo:req.userInfo, category:category }); } }) })

views/admin/category_edit.html

{% extends 'layout.html' %} {% block main %} <div class="a-userNav"> <span><a href="/">管理首页</a></span> <span> / </span> <span>分类编辑 - {{category.name}}</span> </div> <form style="padding-left: 50px;margin-top: 20px;" method="post"> <div style="display: inline-block;"> <label for="name">分类名称:</label> <input type="text" name="name" id="name" value="{{category.name}}"> </div> <button type="submit" style="display: inline-block;">提交</button> </form> {% endblock %}

3.分类的删除

//分类删除 router.get('/category/delete',function(req,res){ var id = req.query.id || ''; Category.remove({ _id:id }).then(function(){ res.render('admin/success',{ userInfo:req.userInfo, message:'删除成功', url:'/admin/category' }); }) })
转载请注明原文地址: https://www.6miu.com/read-2300182.html

最新回复(0)