Я новичок в веб-программировании, и я хочу создать страницу профиля для зарегистрированных пользователей на своем веб-сайте, и я не могу понять, как. Как правило, это имя пользователя и фотография, которую он выбрал.
p> Это мой код profile.handlebars:<div class="row">
<div class="col-md-4">
<h1><%= user.firstName + " " + user.lastName %></h1>
<div class="thumbnail">
<img src="<%= user.avatar %>" alt="user profile image">
<div class="caption"><a href="mailto:<%= user.email %>"><%= user.email %></a></div>
</div> </div>
</div>
<div class="col-md-8">
description
</div>
, и это модель user.js:
var mongoose = require('mongoose');
var bcrypt = require('bcryptjs');
var passportLocalMongoose = require("passport-local-mongoose");// User Schema
var UserSchema = mongoose.Schema({
username: {
type: String,
index:true
},
password: {
type: String
},
email: {
type: String
},
name: {
type: String
},
avatar: {
type: String
}
});UserSchema.plugin(passportLocalMongoose);
var User = module.exports = mongoose.model('User', UserSchema);
Что происходит, так это то, что код profile.handlebars просто печатает "<% = user ...", поскольку это строка, и я хочу, чтобы она печатала имя пользователя, которое теперь вошло в систему.
Это ошибки Я получаю при открытии страницы profile.handlebars:
URIError: Failed to decode param '%3C%=%20user.avatar%20%%3E'
at decodeURIComponent (<anonymous>)
at decode_param (I:\Programming\Gamon2\node_modules\express\lib\router\layer.js:172:12)
at Layer.match (I:\Programming\Gamon2\node_modules\express\lib\router\layer.js:148:15)
at matchLayer (I:\Programming\Gamon2\node_modules\express\lib\router\index.js:574:18)
at next (I:\Programming\Gamon2\node_modules\express\lib\router\index.js:220:15)
at Function.handle (I:\Programming\Gamon2\node_modules\express\lib\router\index.js:174:3)
at router (I:\Programming\Gamon2\node_modules\express\lib\router\index.js:47:12)
at Layer.handle [as handle_request] (I:\Programming\Gamon2\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (I:\Programming\Gamon2\node_modules\express\lib\router\index.js:317:13)
at I:\Programming\Gamon2\node_modules\express\lib\router\index.js:284:7
at Function.process_params (I:\Programming\Gamon2\node_modules\express\lib\router\index.js:335:12)
at next (I:\Programming\Gamon2\node_modules\express\lib\router\index.js:275:10)
at I:\Programming\Gamon2\node_modules\express\lib\router\index.js:635:15
at next (I:\Programming\Gamon2\node_modules\express\lib\router\index.js:260:14)
at Function.handle (I:\Programming\Gamon2\node_modules\express\lib\router\index.js:174:3)
at router (I:\Programming\Gamon2\node_modules\express\lib\router\index.js:47:12)
Спасибо заранее!
Попробуйте использовать {{user.avatar}} и {{user.email}}
<% =% > нотация используется в JSP для руля, вы должны использовать фигурные скобки {{}} вокруг ваших переменных.