多人博客管理系统&登录功能

多人博客管理系统

目标

  • 能够知道搭建项目环境的步骤
  • 能够理解模板优化
  • 熟悉登录功能的思路逻辑
  • 知道密码为什么需要加密
  • 知道cookie跟session是什么
  • 能够参照笔记写出登录功能

功能需求

  • 博客内容展示

    • 文章列表页面
      [外链图片转存失败(img-twPJASUX-1568462831538)(images/博客-01.png)]

    • 文章详情页面

      [外链图片转存失败(img-zKIf5sXe-1568462831539)(images/博客-02.png)]

  • 博客管理功能

    • 登录页面

      [外链图片转存失败(img-NcjieJDZ-1568462831544)(images/博客-03.png)]

    • 管理页面

      [外链图片转存失败(img-8wzKRKRq-1568462831546)(images/博客-04.png)]

项目环境搭建

  • 建立项目所需文件夹

    • public 静态资源
    • model 数据库操作
    • route 路由
    • views 模板
  • 初始化项目描述文件

    • npm init -y
  • 下载项目所需要的第三方模块

    • npm install express mongoose art-template express-art-template
  • 创建网站服务器

    //引入 express第三方模块
    const express = require('express');
    //创建web服务器
    const app = express();
    //监听端口
    app.listen(80);
    
  • 构建模块化路由

    • 在 route 文件夹下 创建 admin.js 和 home.js 两个模块的路由文件

    • admin.js

      // 引用expess框架
      const express = require('express');
      // 创建博客展示页面路由
      const admin = express.Router();
      // 将路由对象做为模块成员进行导出
      module.exports = admin;
      
    • home.js

      // 引用expess框架
      const express = require('express');
      // 创建博客展示页面路由
      const home = express.Router();
      // 将路由对象做为模块成员进行导出
      module.exports = home;
      
    • 在入口文件 app.js文件中配置模块化路由

      // 引入路由模块
      const home = require('./route/home');
      const admin = require('./route/admin');
      // 为路由匹配请求路径
      app.use('/home', home);
      app.use('/admin', admin);
      
  • 配置静态资源文件

    • 引入path文件,利用static方法来配置静态资源

      // 处理路径
      const path = require('path');
      // 开放静态资源文件
      app.use(express.static(path.join(__dirname, 'public')))
      
    • 把静态资源的html文件,放到views目录下

  • 构建模板

    // 告诉express框架模板所在的位置
    app.set('views', path.join(__dirname, 'views'));
    // 告诉express框架模板的默认后缀是什么
    app.set('view engine', 'art');
    // 当渲染后缀为art的模板时 所使用的模板引擎是什么
    app.engine('art', require('express-art-template'));
    
    // 开放静态资源文件
    app.use(express.static(path.join(__dirname, 'public')))
    

    注意 : 模板中的相对路径是相对于地址栏中的请求路径的

    所以在模板中引用其他文件中的资源的时候 需要使用服务器的绝对路径 也就是在src 或者 link的路径前加上“/”

    <link rel="stylesheet" href="/admin/lib/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="/admin/css/base.css">
    

模板优化

抽离公共部分到单独模板中去

在common文件夹中创建头部公共模板文件

header.art

<!-- 头部 -->
<div class="header">
	<!-- 网站标志 -->
    <div class="logo fl">
      黑马程序员 <i>ITHEIMA</i>
    </div>
    <!-- /网站标志 -->
    <!-- 用户信息 -->
    <div class="info">
        <div class="profile dropdown fr">
            <span class="btn dropdown-toggle" data-toggle="dropdown">
				{
  {userInfo && userInfo.username}}
				<span class="caret"></span>
            </span>
            <ul class="dropdown-menu">
                <li><a href="user-edit.html">个人资料</a></li>
                <li><a 
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
免费个人博客系统(兼多用户博客系统)是支持一个空间2个网站的全能型网站管理系统,本免费个人博客系统通用和拓展性强,博客、文章系统、商城、企业网站、个性化论坛等类型网站都可以使用,将来网站无论如何转型或拓展,只需要修改模板就可以实现,无需重建网站。本系统不同于以往任何逻辑架构的网站程序。本软件开发者希望通过注重商业化开发,助力用户通过网络创业和赚钱,当然您也可以通过这个软件在互联网高效地展示自己。 详细说明: 1.本个人博客系统可以用于商业用途,本软件官方、开发者不收取任何授权费用; 2.本个人博客系统是支持一个空间2个网站的全能型博客系统; 3.本个人博客系统通用和拓展性强,博客、文章系统、商城、企业网站、个性化论坛等类型网站都可以使用; 4.本个人博客系统功能强大,代码少,运行效率更高,程序运行速度是其它主流同类软件的3~4倍,内存占用不到其它主流同类软件的五分之一; 5.开启和关闭会员注册,开启和关闭普通会员投稿功能; 6.会员功能拓展到了兼职专题功能,SEO设置和开放特约编辑的多用户不同权限管理功能等; 7.超级管理员可无密码一键登录任意会员后台,管理员用受限登录会员身份后台发布信息,也可让网站攻击者无法猜解密码; 8.自动生成手机版网站,系统默认带www的域名为PC模板站,不带www的顶级域名为手机站,不增加维护难度,就可以同时拥有2个网站; 9.博客程序还包含订单、秒杀、限时抢购和数量虚拟功能,助力用户互联网创业和商业化运营,就看脑洞大开的你怎么使用了; 10.本个人博客系统能够适应各种界面浏览器,后台可手机随时随地访问、管理和更新网站; 11.可一键切换成.shtml、.html、.htm、.asp、.aspx、.cgi、.php、.jsp、.cgi、/ 等网页后缀,模拟不同语言编程的网站程序; 12.前端页面精简,前端编码不用div标签,不用id、class规则的CSS样式,最大限度精简前端代码,鼓励用户抛弃div+CSS前端代码编写模式,我们这样做不是为了迎合HTML5,只是为了更合理的应用HTML标签; 13.安装程序自动识别和设置伪静态; 14.全站无死角SEO设置; 15.强大的内链逻辑,特别适应大数据类型网站使用; 16.强大的广告和精准广告设置; 17.数据缓存模式,不依赖外部服务器组件和其它插件,不额外占用服务器系统内存资源; 18.删除局部缓存和一键清除全部缓存; 19.可设置邮件实时通知新订单和访客留言; 20.可设置管理员回复留言可同时邮件通知留言者; 21.可查看和删除无用上传文件,为将来数据备份节省时间和空间; 22.特色的tag标签功能; 23.分类、tag标签、url表单填写自动补缺; 24.url表单可自动生成拼音,也可以用汉字,自动转码,有利于SEO搜索引擎排名; 25.开放式PHP原生态模板,用户任意修改、穿插内容或广告,无需花时间研究额外规则,模板修改成本更低; 26.可对模板备份,使用备份模板,并可对模板恢复系统初始状态; 27.模板修改全站页面秒更新; 28.可自定义SQL语句的图片展示页面; 29.后台可控制各个模块是否开启验证码、设置验证码长度,以及设置验证码破解难度; 30.访客留言关键词过滤; 31.可自定义导航; 32.可在线编辑js和CSS文件; 33.本免费个人博客系统(兼多用户博客系统)无后门。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值