如何在每个模板中设置一个我可以在其他模板中使用的变量,例如
{{ set title "Title" }}
在一个模板然后在我的布局中
<title> {{ title }} </title>
然后当它被渲染
tmpl, _ := template.ParseFiles("layout.html", "home.html")
它将根据设置的内容设置标题,home.html而不是在struct没有必要时为每个视图页面设置.我希望我有道理,谢谢.
只是为了澄清:
layout.html:
<!DOCTYPE html>
<html>
<head>
<title>{{ title }} </title>
</head>
<body>
</body>
</html>
home.html:
{{ set Title "Home" . }}
<h1> {{ Title }} Page </h1>
Run Code Online (Sandbox Code Playgroud) 使用Jinzhu的GORM包这是非常棒的btw,我目前有这个结构:
type User struct {
gorm.Model
// The Users username
Username string `gorm:"size:255;unique;not null"`
// The Users email address
Email string `gorm:"size:255;unique;not null"`
// The Users hashed password
Password string `gorm:"size:255;not null"`
// The Users password confirmation (only for forms)
PasswordC string `gorm:"-"`
// The Users FULL NAME (e.g. Burt Reynolds)
Fullname string `gorm:"size:255; not null"`
// The Users Karma level
Karma int
// Is the user banned?
Banned bool
}
Run Code Online (Sandbox Code Playgroud)
但我也使用Gorilla的Schema包,所以任何表单值填充结构,但我不希望将PasswordC其保存到数据库中,因为它将是纯文本,因为普通Password字段得到bcrypt'd所以任何有关如何进行GORM保存的信息这个 …
如果我正确使用频道,我是否需要使用互斥锁来防止并发访问?
我正在尝试在github中使用GMaps.js,但由于某些原因它无法正常工作,我很确定我已将它输入正确,如果有人能指出我正确的方向,谢谢.(http://i.imgur.com/3LkL6xS.png实际照片,以防它在这里不够大.)

这是新的源代码:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://maps.google.com/maps/api/js?key=AIzaSyBi7e8AiTyqWiFt9vlbGqsAzGyRhVWqCsk&sensor=true"></script>
<script src="js/gmaps.js"></script>
<script>
/**
* Basic Map
*/
$(document).ready(function(){
var map = new GMaps({
div: '#basic_map',
lat: 51.5073346,
lng: -0.1276831,
zoom: 12,
zoomControl : true,
zoomControlOpt: {
style : 'SMALL',
position: 'TOP_LEFT'
},
panControl : false,
});
});
</script>
</head>
<body>
<div id="basic_map"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我正在尝试向GET我的/routes/控制器发送请求,以便我可以收到一些数据,现在我有
function fetchMarker(id) {
var data;
$.ajax({
type: "GET",
url: '/routes/',
data: id,
dataType: "JSON",
success: function(data) {
console.log(data)
}
});
}
Run Code Online (Sandbox Code Playgroud)
但问题是当我这样做时,Firebug告诉我:
"NetworkError: 404 Not Found - http://10.0.0.24:3000/routes/?15"
我相信这是由?引起的,我最近切换到Ruby on Rails所以我不知道这是否正常但是rake路由告诉我它必须是/ routes /(params [:id])所以我我只假设身份证号码.
我的控制器:
def show
@route = Route.find(params[:id])
respond_to do |format|
format.html
format.json { render json: @route }
end
end
Run Code Online (Sandbox Code Playgroud)
在期待中感谢!
我在我的Express v3应用程序上设置了CSRF ,我有这样的:
app.use(express.session({
secret: "gdagadgagd",
cookie: {
httpOnly: true,
path : '/',
maxAge: 1000*60*60*24*30*12
}
}));
app.use(express.csrf());
app.use(function(req, res, next) {
res.locals.token = req.session._csrf;
next();
})
Run Code Online (Sandbox Code Playgroud)
在我的页面上,令牌显示为:
<input type="hidden" name="_csrf" value="E3afFADF3913-fadFK31">
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在我的网页上注册时,我收到此错误:
Error: Forbidden
at Object.exports.error (/Users/account/Desktop/nodeapp/node_modules/express/node_modules/connect/lib/utils.js:55:13)
at Object.handle (/Users/account/Desktop/nodeapp/node_modules/express/node_modules/connect/lib/middleware/csrf.js:54:41)
at next (/Users/account/Desktop/nodeapp/node_modules/express/node_modules/connect/lib/proto.js:190:15)
at next (/Users/account/Desktop/nodeapp/node_modules/express/node_modules/connect/lib/middleware/session.js:313:9)
at /Users/account/Desktop/nodeapp/node_modules/express/node_modules/connect/lib/middleware/session.js:337:9
at /Users/account/Desktop/nodeapp/node_modules/express/node_modules/connect/lib/middleware/session/memory.js:50:9
at process._tickCallback (node.js:415:13)
Run Code Online (Sandbox Code Playgroud)
我正在使用Jade作为我的模板引擎,这就是我所拥有的:
input(type='hidden', name='_csrf', value=token)
Run Code Online (Sandbox Code Playgroud)
我正在localhost:3000直接访问该网页,我不知道为什么我被禁止注册帐户.谢谢!
Sails.js的新用户我已经阅读了文档,但我没有看到一种方法,不包括layout.ejs位于/views/.
我正在尝试将Angular应用到我的应用程序中,当我离开时
$routeProvider.when('/',{
controller: 'HomeController',
templateUrl: '/home'
})
Run Code Online (Sandbox Code Playgroud)
那么在我的路线中,我希望能够做到:
'GET /home': { view: 'angular/home.ejs' }
Run Code Online (Sandbox Code Playgroud)
但是会发生什么呢?它会加载home.ejs但也会注入,layout.ejs因此它会成为layout.ejs从布局中注入加载角度脚本的无限循环,然后尝试home.ejs加载layout.ejs等等加载
那我该怎么做呢?
我知道我可以放入视图,/asset/angular/home.html但我希望.ejs能够呈现不同的视图(例如用户未登录)或其他内容.
关于如何在views不注射的layout.ejs情况下渲染的任何信息都会很棒,谢谢!
更新:
通过这样做:
'GET /home': {
view: 'home',
locals: {
layout: false
}
}
Run Code Online (Sandbox Code Playgroud)
它使它工作,我不知道是否有一个全球的方式,所以我不必layout: false为每个标志
正如标题所说,我不知道有多条sql.Open语句是好事还是坏事,或者我是否应该有一个只有 init 的文件,例如:
var db *sql.DB
func init() {
var err error
db, err = sql.Open
}
Run Code Online (Sandbox Code Playgroud)
只是想知道最佳做法是什么。谢谢!
我有一个控制器来查找一个角色,然后用它做一些事情,控制器看起来像:
router.post('/profile/characters', async ctx => {
try {
ctx.type = 'json';
let req = ctx.request;
if (!('charname' in req.body) || !('charserver' in req.body)) {
return res.json({
'success': false,
error: 'You are missing either the character name, or server'
});
}
let foundChar = await new Promise((res, rej) => {
bnet.wow.character.aggregate({
origin: 'us',
realm: req.body.charserver,
name: req.body.charname,
fields: ['items', 'talents']
}, (err, charData) => {
if (err) {
console.log(err);
return rej(err);
}
return res(charData);
});
});
if ('status' in foundChar) { …Run Code Online (Sandbox Code Playgroud) 我有一个简单的问题,我正在使用TypeScriptwithReact并且到目前为止效果很好,但是我遇到了这个小问题。我是新来的,TypeScript但到目前为止很喜欢它,真的让我想起Go
我正在尝试创建一个样式并将其作为对象传递到样式中,例如
import * as React from 'react'
import * as ReactDOM from 'react-dom'
export interface NavbarProps {
title: string;
}
export class Navbar extends React.Component<NavbarProps, undefined> {
render() {
return (
<div style={styles.navbar}>
<div style={styles.navbarTitle}>
<h1 style={styles.navbarTitle}>{ this.props.title }</h1>
</div>
</div>
)
}
}
// Lets it compile properly
let spaceBetween: "space-between" = "space-between";
let styles = {
navbar: {
display: 'flex',
flexDirection: 'row',
paddingLeft: '10px',
paddingRight: '10px',
height: '50px',
color: 'white', …Run Code Online (Sandbox Code Playgroud) go ×4
node.js ×3
javascript ×2
ajax ×1
channel ×1
concurrency ×1
csrf ×1
go-gorm ×1
google-maps ×1
jquery ×1
koa ×1
koa-session ×1
koa2 ×1
mutex ×1
sails.js ×1
templates ×1
typescript ×1