Create Account #01
今回はアカウントを生成するページを作成します.
前述のセクションでは、
今回は
ユーザーログインを実現し、ログインの意味を見てみましょう.
ログインしたプレイヤーに覚えてもらう方法もわかります.
ほとんどのソーシャルログインは似たようなパターンで実現されているので、Kindhubログインを例に理解します.
だから私は電子メール、パスワードでログインし、ジハーバーでログインします.
現在、
それから、私もパスワードがどうやって作られたか見てみます.私は以前使った内容でこのすべてを体現します.
登録ページにフォームを追加し、会員登録ページにもフォームを追加し、
パスワードの確認もあります.履歴書を見ても、履歴書を直してもします.
私たちは十分な既知の情報を持っていて、追加の電子メール、パスワード、セッションも処理します.
まず
これも
まず
もちろん、まだ
現在、
では、今どうやって
同じ
現在は
会員加入可能な
既に存在する
ここにはもう
ここで
その前に
もちろん、中のコードも変更されます.これでアプリケーションが変更されて仕事がなくなります.
しかし、ここで
次に
これで正常に動作します.
バックエンドは
現在、
更新すると
関連情報をよく伝える.△間違いがあると言っていますが、今は間違いがありません.
前述のセクションでは、
Mongoose
、Mongo
、schema
について説明した.今回は
user
をご紹介します.プレイヤーを扱う際には、以前に学んだことがたくさん使われます.Mongoose
schema
などは私が使います.そして認証(Authentication
)を加えます.ユーザーログインを実現し、ログインの意味を見てみましょう.
ログインしたプレイヤーに覚えてもらう方法もわかります.
GitHub
でのログインも実現します.ソーシャル・ログインの実現方法について説明します.ほとんどのソーシャルログインは似たようなパターンで実現されているので、Kindhubログインを例に理解します.
だから私は電子メール、パスワードでログインし、ジハーバーでログインします.
現在、
CRUD
がユーザとして実装されているのは、生成、クエリー、修正、削除である.それから、私もパスワードがどうやって作られたか見てみます.私は以前使った内容でこのすべてを体現します.
登録ページにフォームを追加し、会員登録ページにもフォームを追加し、
POST
リクエストの処理方法を理解します.パスワードの確認もあります.履歴書を見ても、履歴書を直してもします.
私たちは十分な既知の情報を持っていて、追加の電子メール、パスワード、セッションも処理します.
まず
User
の模型を作ります.models
フォルダにUser.js
の新しいファイルが作成されました.これも
Video
を作った時のように、同じ過程を経て作らなければなりません.まず
schema
を作成し、Mongo
とMongoose
がどのように成長しているかを教えてくれたら、User
を作ります.型番static
を試してみます.import mongoose from "mongoose";
const userSchema = new mongoose.Schema({});
const User = mongoose.model("User", userSchema);
export default User;
まずはexport
mongoose
です.このようにしてimport
型を作りました.もちろん、まだ
User
は作られていません.後で追加します.現在、
schema
からinit.js
からUser
までです.import "./db";
import "./models/Video";
import "./models/User";
import app from "./server";
その後、import
を追加します.現在はUser
とVideo
User
です.では、今どうやって
import
を作りますか?まず、User
が必須です.const userSchema = new mongoose.Schema({
email: { type: String, required: true, unique: true },
username: { type: String, required: true, unique: true },
password: { type: String, required: true },
name: { type: String, required: true },
location: String,
});
これで追加しました.そして、email
は1つしか存在しません.同じ
unique
に複数のアカウントを持つことはできません.email
にも同じアカウントを持つことはできません.現在は
username
が製作されており、現在はUser
が製作されている.会員加入可能な
template
を作成します.今回はURL
フォルダに作成しました.既に存在する
controllers
に作成すればよいここにはもう
userController.js
があるので、これ以上する必要はありません.ここで
join controller
をするのではなく.export const join = (req, res) => res.render("createAccount");
このように交換します.res.send("Join")
はまだありません.createAccount
フォルダにview
が作成されます.createAccount.pug
において行われたように、home
もcreateAccount
を使用する.extends base
extends base
およびbase
は、extends
変数を必要とするので、変数を伝達する.export const join = (req, res) =>
res.render("createAccount", { pageTitle: "Create Account" });
pageTitle
を変更します.navigation
には"createAccount"
があります.その前に
link
に名前を変更します.globalRouter.js
に変えたほうがいいです.rootRouter.js
と言えば、人々は混同する可能性があります.もちろん、中のコードも変更されます.これでアプリケーションが変更されて仕事がなくなります.
global
はもう存在しないからです.globalRouter
においてもserver.js
はglobalRouter
に変換される.rootRouter
の中にはすでにrootRouter
があります./join
のbase.pug
に1つ追加します. body
header
h1=pageTitle
nav
ul
li
a(href="/videos/upload") Upload Video
li
a(href="/") Home
li
a(href="/search") Search
li
a(href="/join") Join
このように追加そして、今機能しているかどうかをチェックすると、よく機能しています.navigation
をクリックすると、join
が表示されます.Create Account
準備ができました.export const join = (req, res) => res.render("join", { pageTitle: "Join" });
すべてjoin controller
に変更されました.ファイル名もそうして、統一性もあればいいです.しかし、ここで
join
のリクエストが出ることを知っています.post
からrootRouter.route("/join").get(join).post();
だからrootRouter.js
というよりget("/join")
です.次に
route("/join")
と書いて、get(join)
のためにpost
を作ります.function
の名前をfunction
と書くのではなく、変えて使います.以前のやり方でやる.join
をjoin
に変換します.getJoin
からexport const getJoin = (req, res) => res.render("join", { pageTitle: "Join" });
export const postJoin = (req, res) => {};
そしてuserController.js
という新しいpostJoin
を作ります.function
にしましたが、まだ何の機能もありません.作成したfunction
を保存します.postJoin
からimport { getJoin, postJoin, login } from "../controllers/userController";
rootRouter.route("/join").get(getJoin).post(postJoin);
rootRouter.js
,getJoin
,postJoin
.次に、import
getJoin
を入れます.これで正常に動作します.
postJoin
の機能を作成する前に、postJoin
を作成します.form
からextends base
block content
form(method="POST")
input(name="name", type="text", requeired)
input(name="email", type="email", requeired)
input(name="username", type="text", requeired)
input(name="password", type="password", requeired)
input(name="location", type="text", requeired)
input(type="submit", value="Join")
そうします.そして最も重要なのはjoin.pug
が必要です.バックエンドは
name
なしでは使用できません.現在、
name
のuserController
でテストが行われています.postJoin
からexport const postJoin = (req, res) => {
console.log(req.body);
res.end();
};
要求は、userController.js
およびreq.body
を使用して終了する.更新すると
console.log
が見えます.値を全部入力してください.そしてres.end()
を確認します.関連情報をよく伝える.△間違いがあると言っていますが、今は間違いがありません.
Reference
この問題について(Create Account #01), 我々は、より多くの情報をここで見つけました https://velog.io/@0_cyberlover_0/Create-Account-01テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol