部落格專案 使用者文章列表展示

2021-10-22 08:34:22 字數 4003 閱讀 4161

伺服器端新增路由

home路由檔案(home.js)

這裡home是一級路由,index.js(使用者文章介面展示),article.js(文章詳情)是二級路由

//引入express伺服器

const express =

require

('express');

//建立路由物件

const home = express.

router()

;//文章列表封面

home.

get(

'/',

require

('./home/index'))

;//文章詳情封面

home.

get(

'/article'

,require

('./home/article'))

;module.exports= home;

文章列表頁面(index.js)這裡通過先轉化為字串後解析為json物件的方式解決陣列溢位棧問題,否則呼叫res.render方法渲染資料到模板會報錯

參考部落格:

//引入文章構造集合用於將文章內容渲染到模板

const

=require

('../../model/article');

//引入mongoose-***-page(資料庫性分頁)

const pagination =

require

('mongoose-***-page');

module.exports =

async

(req, res)

=>

).populate("author").lean();

//這裡通過先轉化為字串後解析為json物件的方式解決陣列溢位棧

var str =

json

.stringify

(article)

;let articles =

json

.parse

(str)

; res.

render

('home/default.art',)

;}

文章詳情頁面當前只渲染了模板到頁面,之後會對內容做進一步補充

module.

exports

=(req, res)

=>

使用者文章頁面展示(default.art)將index.js傳遞資料渲染到模板

呼叫dateformat對日期進行處理

運用正規表示式對文章內容標籤進行處理成』』』@原文輸出(處理 )substr擷取防止內容超出盒子

<

!-- 文章列表開始 --

>

="list w1100"

>

}="}"

>

"article.html"

class

="thumbnail"

>

"}">

<

/a>

="content"

>

="article-title" href=

"article.html"

>

}<

/a>

="article-info"

>

="author"

>

}<

/span>

<

!-- 呼叫dateformat對日期進行處理 --

>

}<

/span>

<

/div>

="brief"

>

<

!--運用正規表示式對文章內容標籤進行處理成'''@原文輸出

(處理&npsb)substr擷取

防止內容超出盒子--

>

}<

/div>

<

/div>

<

/li>

}<

/ul>

<

!-- 文章列表結束 --

>分頁跳轉

客戶端頁面呈現模板(default.art

在這裡插入**片

<

!-- 分頁開始 --

>

="page w1100"

>

<

!>

}"/home?page=}"

/a>}}

<

!-- 如果當前頁和value相等 則新增active屬性--

>

"/home?page=}"

class

="}"

>

}<

/a>

}<

!>

}"/home?page=}"

/a>

}<

/div>

<

!-- 分頁結束 --

>

伺服器端(index.js)
接收客戶端get傳遞的請求引數,並將page用於資料庫分頁

//引入文章構造集合用於將文章內容渲染到模板

const

=require

('../../model/article');

//引入mongoose-***-page(資料庫性分頁)

const pagination =

require

('mongoose-***-page');

module.exports =

async

(req, res)

=>

).populate("author").lean();

//這裡通過先轉化為字串後解析為json物件的方式解決陣列溢位棧

var str =

json

.stringify

(article)

;let articles =

json

.parse

(str)

; res.

render

('home/default.art',)

;}問題

const pagination =
require

('mongoose-***-page');

module.exports =

async

(req, res)

=>

).populate("author").lean();

//這裡通過先轉化為字串後解析為json物件的方式解決陣列溢位棧

var str =

json

.stringify

(article)

;let articles =

json

.parse

(str)

;這裡用到級聯查詢,author查詢出的是乙個使用者資料集合,呼叫res.render方法渲染資料到模板會報錯,應該是資料格式問題,涉及到函式巢狀呼叫導致溢位。通過先轉化為字串後解析為json物件的方式解決陣列溢位棧問題

問題2

這裡home前不應該有/(因為/代表絕對路徑)我們已經告知.art檔案在views下,剛好兩個檔案(home和admin);否則會顯示找不到該檔案

web前端 部落格(六)展示使用者資訊

當訪問使用者列表頁面時,要先在使用者列表頁面對應的路由處理函式中,將所有的使用者資訊從資料庫中查出來。查詢出來後,再使用res.render 渲染使用者列表頁面模板,並且將查詢資料傳遞到模板中展示出來。此後,再去做文章列表的分頁功能。route資料夾下的admin.js中,有乙個建立使用者列表的路由...

web專案開發規範 以使用者資訊列表展示為例

1.需求 使用者資訊的增刪改查操作 2.設計 1.技術選型 servlet jsp mysql jdbctempleat duird beanutils tomcat 2.資料庫設計 分析需要使用變數,為每個變數選取合適的資料型別。新增 id 變數,設定為主觀鍵字,自增 分析是否需要為變數新增約束 ...

python 爬蟲 爬取序列部落格文章列表

python中寫個爬蟲真是太簡單了 import urllib.request from pyquery import pyquery as pq 根據url獲取內容並解碼為utf 8 def gethtml url page urllib.request.urlopen url html page...