学生档案信息管理之模板引擎的应用
实现学生信息添加功能
在模板的表单中指定请求地址与请求方式
为每一个表单项添加name属性
添加实现学生信息功能路由
接收客户端传递过来的学生信息
将学生信息添加到数据库中
将页面重定向到学生信息列表页面
本项目开发按着项目开发的流程:views文件夹下是模板 model文件夹下是数据库的操作文件 分为接口文件和创造文件 route文件夹是路由的获取代码 public 放公共css文件 app.js为主文件
app.js
// 引入http模块 const http = require('http'); // 引入模板引擎 const template = require('art-template'); // 引入path模块 const path = require('path'); // 引入静态资源访问模块 const serveStatic = require('serve-static');//返回一个方法 // 引入处理日期的第三方模块 const dateformat = require('dateformat');const router = require('./route/index'); // 实现静态资源访问服务 const serve = serveStatic(path.join(__dirname, 'public'))//返回一个方法// 配置模板的根目录 template.defaults.root = path.join(__dirname, 'views'); // 处理日期格式的方法 template.defaults.imports.dateformat = dateformat;// 数据库连接 require('./model/connect');// 创建网站服务器 const app = http.createServer(); // 当客户端访问服务器端的时候 app.on('request', (req, res) => {// 启用路由功能router(req, res, () => {})// 启用静态资源访问服务功能serve(req, res, () => {}) }); // 端口监听 app.listen(3000); console.log('服务器启动成功');
数据库moudel文件夹下代码
user.js
const mongoose = require('mongoose'); // 创建学生集合规则 const studentsSchema = new mongoose.Schema({name: {type: String,required: true,minlength: 2,maxlength: 10},age: {type: Number,min: 10,max: 25},sex: {type: String},email: String,hobbies: [ String ],collage: String,enterDate: {type: Date,default: Date.now} }); // 创建学生信息集合 const Student = mongoose.model('Student', studentsSchema); // 将学生信息集合进行导出 module.exports = Student;
connect.js
const mongoose = require('mongoose'); // 连接数据库 mongoose.connect('mongodb://localhost/wrj', { useNewUrlParser: true }).then(() => console.log('数据库连接成功')).catch(() => console.log('数据库连接失败'))
路由代码
// 引入router模块 const getRouter = require('router'); // 获取路由对象 const router = getRouter(); // 学生信息集合 const Student = require('../model/user'); // 引入模板引擎 const template = require('art-template'); // 引入querystring模块 const querystring = require('querystring');// 呈递学生档案信息页面 router.get('/add', (req, res) => {let html = template('index.art', {});res.end(html); })// 呈递学生档案信息列表页面 router.get('/list', async (req, res) =>{// 查询学生信息let students = await Student.find();console.log(students);let html = template('list.art', {students: students})res.end(html) }) // 实现学生信息添加功能路由 router.post('/add', (req, res) => {// 接收post请求参数let formData = '';req.on('data', param => {formData += param;});req.on('end', async () => {await Student.create(querystring.parse(formData))res.writeHead(301, {Location: '/list'});res.end()}) });module.exports = router;
转载于:https://www.cnblogs.com/treasurea/p/11260504.html
学生档案信息管理之模板引擎的应用相关推荐
- 前端学习(1364):学生档案信息管理6
service.js //引入http模块 const http = require('http'); //创建网站服务器 const app = http.createServer();const ...
- 前端学习(1363):学生档案信息管理5
service.js //引入http模块 const http = require('http'); //创建网站服务器 const app = http.createServer(); //引入路 ...
- 前端学习(1362):学生档案信息管理4
service.js //引入http模块 const http = require('http'); //创建网站服务器 const app = http.createServer(); //引入路 ...
- 前端学习(1361):学生档案信息管理3
service.js //引入http模块 const http = require('http'); //创建网站服务器 const app = http.createServer(); //引入路 ...
- 前端学习(1360) :学生档案信息管理2
service.js //引入http模块 const http = require('http'); //创建网站服务器 const app = http.createServer(); //引入路 ...
- 前端学习(1359) :学生档案信息管理1
\ service.js //引入http模块 const http = require('http'); //创建网站服务器 const app = http.createServer(); // ...
- 模板引擎应用案例- 学生档案管理
案例源码 1. 案例介绍 - 学生档案管理 目标: 模板引擎应用, 强化node.js项目制作流程. 知识点: http请求响应.数据库.模板引擎.静态资源访问. 2. 制作流程 建立项目文件夹并生成 ...
- Python高校学生档案管理系统毕业设计源码071528
Python高校学生档案管理系统 摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理.在现实运用中,应用软件的工作规则和开发 ...
- 基于java实现的学生档案管理系统毕业论文(可下载)
目录 摘 要 学生档案管理系统是当今互联网时代下的趋势和不可缺少的一部分,他可以高效快速的完成和解决信息的查询和录入.随着计算机的快速发展和普及,越来越多的办公离不开电脑. 本系统采用B/S模式 ...
最新文章
- Python处理大数据
- kohana中的路由规则
- 《Redis官方文档》事件库
- YBTOJ:彩球抽取(期望)
- 标准C语言各种时间函数用法,使用c语言标准库中的时间函数
- 磁盘、u盘、移动硬盘被写保护了,不能复制文件,解决方案
- sinx/cosx的泰勒展开式与库函数的比较
- mysql 登录失败18456_Sqlserver 2005 登录用户提示“sa'登录失败。错误18456“的解决方案...
- Powershell-快速编辑模式和标准模式
- JAVA学习homework的Car、Bus、motoVehicle
- 用微型计算机原理做流水灯,微机原理流水灯设计.doc
- OpenCV:图片文字分割
- Chris Hadfield現身《ABS 2020》,各方菁英和THORBOT 雷神量化機器人一同進行深入探討
- android uefi 编译报错,【Android SDM660开机流程】- UEFI XBL 代码流程分析
- 计算机专业的在职考研,2019年深造北京航空航天大学在职研究生计算机专业在职考研科目是什么...
- 爬取碧蓝航线wiki
- 5-3 外星人颜色#1
- 4. 卷积神经网络CNN
- AE基础教程(15)——第15章 质量图标和效果开关
- PHP 大流量高并发解决方案
热门文章
- 分享一款自己开发的串口调试助手(macOS系统,界面简介,使用方便)
- matlab实验大纲,matlab实验教学大纲.doc
- niuke --abc
- RabbitMQ常见问题解决方案——消息丢失、重复消费、消费乱序、消息积压
- sql server日志占用空间过大的问题清理日志文件
- Daily Scrum 12.17
- ORA-27104,ORA-01565,ORA-27077,ORA-00093,ORA-01012,ORA-32001,SP2-0714,ORA-12547,sqlplus /nolog 连接不上
- 跨考计算机之路,2014考研心得:零基础跨考之路
- 硬盘构造及其工作原理
- 将16进制字符串转化成内存二进制数据