Heim Web-Frontend HTML-Tutorial Node.js 博客实例(四)实现用户页面和文章页面_html/css_WEB-ITnose

Node.js 博客实例(四)实现用户页面和文章页面_html/css_WEB-ITnose

Jun 24, 2016 am 11:59 AM
node.js 博客 实例 Artikel 页面

    原教程 https://github.com/nswbmw/N-blog/wiki/_pages的第四章,由于版本等的原因,在原教程基础上稍加改动即可实现。

现在,我们来给博客添加用户页面和文章页面。
    所谓用户页面就是当点击某个用户名链接时,跳转到:域名/u/用户名 ,并列出该用户的所有文章。
    同理,文章页面就是当点击某篇文章标题时,跳转到:域名/u/用户名/时间/文章名 ,进入到该文章的页面。

post.js:

将 Post.get 修改为 Post.getAll ,同时将 index.js 中 Post.get 修改为 Post.getAll 。在 post.js 最后添加如下代码:

//获取一篇文章Post.getOne = function(name, day, title, callback) {  //打开数据库	mongodb.open(function (err, db) {		if (err) {			return callback(err);		}		//读取 posts 集合		db.collection('posts', function (err, collection) {			if (err) {				mongodb.close();				return callback(err);			}			//根据用户名、发表日期及文章名进行查询			collection.findOne({				"name": name,				"time.day": day,				"title": title			}, function (err, doc) {				mongodb.close();				if (err) {									return callback(err);				}				console.log("333");				console.log(doc);				//解析 markdown 为 html				doc.post = markdown.toHTML(doc.post);				console.log("444");				callback(null, doc);//返回查询的一篇文章				console.log("555");			});		});	});};
Nach dem Login kopieren
Post.getAll :获取一个人的所有文章(传入参数 name)或获取所有人的文章(不传入参数)。
Post.getOne :根据用户名、发表日期及文章名精确获取一篇文章。
index.js :添加如下代码:

app.get('/u/:name', function (req, res) {		//检查用户是否存在		User.get(req.params.name, function (err, user) {			if (!user) {				req.flash('error', '用户不存在!'); 				return res.redirect('/');//用户不存在则跳转到主页			}			//查询并返回该用户的所有文章			Post.getAll(user.name, function (err, posts) {				if (err) {					req.flash('error', err); 					return res.redirect('/');				} 				res.render('user', {					title: user.name,					posts: posts,					user : req.session.user,					success : req.flash('success').toString(),					error : req.flash('error').toString()				});			});		}); 	});		app.get('/u/:name/:day/:title', function (req, res) {		Post.getOne(req.params.name, req.params.day, req.params.title, function (err, post) {			if (err) {				req.flash('error', err); 				return res.redirect('/');			}			res.render('article', {				title: req.params.title,				post: post,				user: req.session.user,				success: req.flash('success').toString(),				error: req.flash('error').toString()			});		});	});
Nach dem Login kopieren
在 blog/views/ 文件夹下新建 user.ejs,添加如下代码,同时也将 index.ejs 也修改成如下代码:
  <p></p><h2><a href="/u/<%=%20post.name%20%>/<%=%20post.time.day%20%>/<%=%20post.title%20%>"></a></h2>  <p class="info">    作者:<a href="/u/<%=%20post.name%20%>"></a> |     日期:  </p>  <p></p>
Nach dem Login kopieren

在 blog/views/ 文件夹下新建 article.ejs ,添加如下代码:

<p class="info">  作者:<a href="/u/<%=%20post.name%20%>"></a> |   日期:</p><p></p>
Nach dem Login kopieren

现在,我们给博客添加了用户页面和文章页面。实现效果:

点击文章标题:


点击作者:


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So kopieren Sie eine Seite in Word So kopieren Sie eine Seite in Word Feb 20, 2024 am 10:09 AM

Möchten Sie eine Seite in Microsoft Word kopieren und die Formatierung beibehalten? Dies ist eine kluge Idee, da das Duplizieren von Seiten in Word eine nützliche zeitsparende Technik sein kann, wenn Sie mehrere Kopien eines bestimmten Dokumentlayouts oder -formats erstellen möchten. Diese Anleitung führt Sie Schritt für Schritt durch den Prozess des Kopierens von Seiten in Word, unabhängig davon, ob Sie eine Vorlage erstellen oder eine bestimmte Seite in einem Dokument kopieren. Diese einfachen Anweisungen sollen Ihnen dabei helfen, Ihre Seite einfach neu zu erstellen, ohne bei Null anfangen zu müssen. Warum Seiten in Microsoft Word kopieren? Es gibt mehrere Gründe, warum das Kopieren von Seiten in Word sehr vorteilhaft ist: Wenn Sie ein Dokument mit einem bestimmten Layout oder Format kopieren möchten. Im Gegensatz dazu, die gesamte Seite von Grund auf neu zu erstellen

Wie kann ich Geld verdienen, indem ich heute Artikel auf Toutiao veröffentliche? Wie Sie noch heute mehr Einkommen erzielen, indem Sie Artikel auf Toutiao veröffentlichen! Wie kann ich Geld verdienen, indem ich heute Artikel auf Toutiao veröffentliche? Wie Sie noch heute mehr Einkommen erzielen, indem Sie Artikel auf Toutiao veröffentlichen! Mar 15, 2024 pm 04:13 PM

1. Wie können Sie heute Geld verdienen, indem Sie Artikel auf Toutiao veröffentlichen? Wie Sie noch heute mehr Einkommen erzielen, indem Sie Artikel auf Toutiao veröffentlichen! 1. Grundlegende Rechte und Interessen aktivieren: Originalartikel können durch Werbung Gewinne erzielen, und Videos müssen im horizontalen Bildschirmmodus original sein, um Gewinne zu erzielen. 2. Aktivieren Sie die Rechte von 100 Fans: Wenn die Anzahl der Fans 100 Fans oder mehr erreicht, können Sie Gewinne aus Mikroschlagzeilen, origineller Q&A-Erstellung und Q&A erzielen. 3. Bestehen Sie auf Originalwerken: Originalwerke umfassen Artikel, Mikroschlagzeilen, Fragen usw. und müssen mehr als 300 Wörter umfassen. Bitte beachten Sie, dass bei der Veröffentlichung rechtswidrig plagiierter Werke als Originalwerke Kreditpunkte abgezogen werden und ggf. auch Gewinne abgezogen werden. 4. Vertikalität: Wenn Sie Artikel in Berufsfeldern schreiben, können Sie nicht nach Belieben Artikel über verschiedene Fachgebiete hinweg schreiben. Sie werden keine entsprechenden Empfehlungen erhalten, Sie werden nicht in der Lage sein, die Professionalität und Verfeinerung Ihrer Arbeit zu erreichen, und es wird schwierig sein, Fans zu gewinnen und Leser. 5. Aktivität: hohe Aktivität,

Beginnen Sie bei Null und führen Sie Schritt für Schritt durch die Installation von Flask und die schnelle Einrichtung eines persönlichen Blogs Beginnen Sie bei Null und führen Sie Schritt für Schritt durch die Installation von Flask und die schnelle Einrichtung eines persönlichen Blogs Feb 19, 2024 pm 04:01 PM

Von Grund auf werde ich Ihnen Schritt für Schritt beibringen, wie Sie Flask installieren und schnell einen persönlichen Blog erstellen. Als Person, die gerne schreibt, ist es sehr wichtig, einen persönlichen Blog zu haben. Als leichtes Python-Web-Framework kann Flask uns dabei helfen, schnell ein einfaches und voll funktionsfähiges persönliches Blog zu erstellen. In diesem Artikel fange ich bei Null an und zeige Ihnen Schritt für Schritt, wie Sie Flask installieren und schnell einen persönlichen Blog erstellen. Schritt 1: Python und pip installieren Bevor wir beginnen, müssen wir zuerst Python und pi installieren

Erstellen Sie ein einfaches Blog: mit PHP und SQLite Erstellen Sie ein einfaches Blog: mit PHP und SQLite Jun 21, 2023 pm 01:23 PM

Mit der Entwicklung des Internets sind Blogs für immer mehr Menschen zu einer Plattform geworden, auf der sie ihr Leben, Wissen und Ideen teilen können. Wenn Sie auch ein eigenes Blog erstellen möchten, erfahren Sie in diesem Artikel, wie Sie mit PHP und SQLite ein einfaches Blog erstellen. Bestimmen Sie die Anforderungen Bevor wir mit der Erstellung eines Blogs beginnen, müssen wir die Funktionen bestimmen, die wir erreichen möchten. Zum Beispiel: Einen Blog-Beitrag erstellen Einen Blog-Beitrag bearbeiten Einen Blog-Beitrag löschen Eine Liste von Blog-Beiträgen anzeigen Blog-Beitragsdetails anzeigen Benutzerauthentifizierung und Berechtigungskontrolle PHP und SQLite installieren Wir müssen PHP und S installieren

Wie kann ich eine Webseite schnell aktualisieren? Wie kann ich eine Webseite schnell aktualisieren? Feb 18, 2024 pm 01:14 PM

Bei der täglichen Nutzung eines Netzwerks kommt es häufig zu Seitenaktualisierungen. Wenn wir eine Webseite besuchen, treten manchmal Probleme auf, z. B. wenn die Webseite nicht geladen wird oder nicht ordnungsgemäß angezeigt wird. Zu diesem Zeitpunkt entscheiden wir uns normalerweise dafür, die Seite zu aktualisieren, um das Problem zu lösen. Wie kann die Seite also schnell aktualisiert werden? Lassen Sie uns die Tastenkombinationen für die Seitenaktualisierung besprechen. Die Tastenkombination für die Seitenaktualisierung ist eine Methode zum schnellen Aktualisieren der aktuellen Webseite über Tastaturoperationen. In verschiedenen Betriebssystemen und Browsern können die Tastenkombinationen für die Seitenaktualisierung unterschiedlich sein. Im Folgenden verwenden wir das gebräuchliche W

So passen Sie den Standby-Modus auf dem iPhone an und bearbeiten ihn: Was ist neu in iOS 17? So passen Sie den Standby-Modus auf dem iPhone an und bearbeiten ihn: Was ist neu in iOS 17? Sep 21, 2023 pm 04:01 PM

Standby ist eine neue Funktion im iOS 17-Update, die eine neue und verbesserte Möglichkeit bietet, auf Informationen zuzugreifen, wenn Ihr Telefon schnell inaktiv ist. Mit StandBy können Sie bequem die Uhrzeit überprüfen, bevorstehende Ereignisse anzeigen, Ihren Kalender durchsuchen, Wetteraktualisierungen für Ihren Standort abrufen und vieles mehr. Nach der Aktivierung wechselt das iPhone intuitiv in den Standby-Modus, wenn es während des Ladevorgangs auf Querformat eingestellt wird. Diese Funktion eignet sich perfekt für kabellose Ladestationen wie Ihren Nachttisch oder wenn Sie Ihr iPhone während der täglichen Aufgaben nicht aufladen können. Sie können damit durch verschiedene im Standby-Modus angezeigte Widgets wischen, um auf verschiedene Informationssätze aus verschiedenen Anwendungen zuzugreifen. Möglicherweise möchten Sie diese Widgets jedoch ändern oder einige sogar löschen, je nach Ihren Vorlieben und den Informationen, die Sie häufig benötigen. Also lasst uns eintauchen

So implementieren Sie einen Seitensprung in 3 Sekunden: PHP-Programmierhandbuch So implementieren Sie einen Seitensprung in 3 Sekunden: PHP-Programmierhandbuch Mar 25, 2024 am 10:42 AM

Titel: Implementierungsmethode des Seitensprungs in 3 Sekunden: PHP-Programmierhandbuch In der Webentwicklung ist der Seitensprung eine übliche Operation. Im Allgemeinen verwenden wir Meta-Tags in HTML- oder JavaScript-Methoden, um zu Seiten zu springen. In bestimmten Fällen müssen wir jedoch Seitensprünge auf der Serverseite durchführen. In diesem Artikel wird erläutert, wie Sie mithilfe der PHP-Programmierung eine Funktion implementieren, die innerhalb von 3 Sekunden automatisch zu einer bestimmten Seite springt, und es werden auch spezifische Codebeispiele aufgeführt. Das Grundprinzip des Seitensprungs mit PHP ist eine Art

Wie man mit dem Problem umgeht, dass die Laravel-Seite CSS nicht korrekt anzeigen kann Wie man mit dem Problem umgeht, dass die Laravel-Seite CSS nicht korrekt anzeigen kann Mar 10, 2024 am 11:33 AM

„Wie man mit dem Fehler umgeht, dass Laravel-Seiten CSS nicht korrekt anzeigen, sind spezifische Codebeispiele erforderlich.“ Wenn Sie das Laravel-Framework zum Entwickeln von Webanwendungen verwenden, tritt manchmal das Problem auf, dass die Seite CSS-Stile nicht korrekt anzeigen kann, was dazu führen kann Seite, um abnormale Stile darzustellen. In diesem Artikel werden einige Methoden vorgestellt, um mit dem Versagen von Laravel-Seiten bei der korrekten Anzeige von CSS umzugehen, und spezifische Codebeispiele bereitgestellt, um Entwicklern bei der Lösung dieses häufigen Problems zu helfen. 1. Überprüfen Sie den Dateipfad. Überprüfen Sie zunächst den Pfad der CSS-Datei.

See all articles