Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
beego
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
go
beego
Commits
452478e7
Commit
452478e7
authored
Aug 01, 2013
by
slene
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of github.com:astaxie/beego
parents
6e06720e
6e297267
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
76 additions
and
26 deletions
+76
-26
Quickstart.md
docs/zh/Quickstart.md
+4
-4
template.go
template.go
+23
-22
template_test.go
template_test.go
+49
-0
No files found.
docs/zh/Quickstart.md
View file @
452478e7
...
...
@@ -115,7 +115,7 @@
2013/04/13 19:36:17
[
W
]
[
stat views: no such file or directory
]
-
模板
会自动重新加载不
缓存。
-
模板
每次使用都会重新加载,不进行
缓存。
-
如果服务端出错,那么就会在浏览器端显示如下类似的截图:
![](
images/dev.png
)
...
...
@@ -643,11 +643,11 @@ beego更加人性化的还有一个设计就是支持用户自定义字符串错
## response处理
response可能会有
集中
情况:
response可能会有
几种
情况:
1.
模板输出
模板输出
上面模板介绍里面已经介绍,beego会在执行完相应的Controller里面的对应的Method之后输出到模板。
上面模板介绍里面已经介绍,beego会在执行完相应的Controller里面的对应的Method之后输出到模板。
2.
跳转
...
...
@@ -686,7 +686,7 @@ beego中使用session相当方便,只要在main入口函数中设置如下:
this.TplNames = "index.tpl"
}
上面的例子中我们知道
session有几个方便的方法:
session有几个方便的方法:
-
SetSession(name string, value interface{})
-
GetSession(name string) interface{}
...
...
template.go
View file @
452478e7
...
...
@@ -51,34 +51,35 @@ func (self *templatefile) visit(paths string, f os.FileInfo, err error) error {
if
f
==
nil
{
return
err
}
if
f
.
IsDir
()
{
if
f
.
IsDir
()
||
(
f
.
Mode
()
&
os
.
ModeSymlink
)
>
0
{
return
nil
}
else
if
(
f
.
Mode
()
&
os
.
ModeSymlink
)
>
0
{
}
if
!
HasTemplateEXt
(
paths
)
{
return
nil
}
replace
:=
strings
.
NewReplacer
(
"
\\
"
,
"/"
)
a
:=
[]
byte
(
paths
)
a
=
a
[
len
([]
byte
(
self
.
root
))
:
]
subdir
:=
path
.
Dir
(
strings
.
TrimLeft
(
replace
.
Replace
(
string
(
a
)),
"/"
))
if
_
,
ok
:=
self
.
files
[
subdir
];
ok
{
self
.
files
[
subdir
]
=
append
(
self
.
files
[
subdir
],
paths
)
}
else
{
hasExt
:=
false
for
_
,
v
:=
range
BeeTemplateExt
{
if
strings
.
HasSuffix
(
paths
,
v
)
{
hasExt
=
true
break
}
}
if
hasExt
{
replace
:=
strings
.
NewReplacer
(
"
\\
"
,
"/"
)
a
:=
[]
byte
(
paths
)
a
=
a
[
len
([]
byte
(
self
.
root
))
:
]
subdir
:=
path
.
Dir
(
strings
.
TrimLeft
(
replace
.
Replace
(
string
(
a
)),
"/"
))
if
_
,
ok
:=
self
.
files
[
subdir
];
ok
{
self
.
files
[
subdir
]
=
append
(
self
.
files
[
subdir
],
paths
)
}
else
{
m
:=
make
([]
string
,
1
)
m
[
0
]
=
paths
self
.
files
[
subdir
]
=
m
}
m
:=
make
([]
string
,
1
)
m
[
0
]
=
paths
self
.
files
[
subdir
]
=
m
}
return
nil
}
func
HasTemplateEXt
(
paths
string
)
bool
{
for
_
,
v
:=
range
BeeTemplateExt
{
if
strings
.
HasSuffix
(
paths
,
"."
+
v
)
{
return
true
}
}
return
nil
return
false
}
func
AddTemplateExt
(
ext
string
)
{
...
...
template_test.go
0 → 100644
View file @
452478e7
package
beego
import
(
"os"
"path/filepath"
"testing"
)
func
TestBuildTemplate
(
t
*
testing
.
T
)
{
dir
:=
"_beeTmp"
files
:=
[]
string
{
"1.tpl"
,
"2.html"
,
"3.htmltpl"
,
"4.mystyle"
,
}
if
err
:=
os
.
MkdirAll
(
dir
,
0777
);
err
!=
nil
{
t
.
Fatal
(
err
)
}
for
_
,
name
:=
range
files
{
if
_
,
err
:=
os
.
Create
(
filepath
.
Join
(
dir
,
name
));
err
!=
nil
{
t
.
Fatal
(
err
)
}
}
if
err
:=
BuildTemplate
(
dir
);
err
!=
nil
{
t
.
Fatal
(
err
)
}
if
len
(
BeeTemplates
)
!=
1
{
t
.
Fatalf
(
"should be 1 but got %v"
,
len
(
BeeTemplates
))
}
for
_
,
v
:=
range
BeeTemplates
{
if
len
(
v
.
Templates
())
!=
3
{
t
.
Errorf
(
"should be 3 but got %v"
,
len
(
v
.
Templates
()))
}
}
AddTemplateExt
(
"mystyle"
)
if
err
:=
BuildTemplate
(
dir
);
err
!=
nil
{
t
.
Fatal
(
err
)
}
if
len
(
BeeTemplates
)
!=
1
{
t
.
Fatalf
(
"should be 1 but got %v"
,
len
(
BeeTemplates
))
}
for
_
,
v
:=
range
BeeTemplates
{
if
len
(
v
.
Templates
())
!=
4
{
t
.
Errorf
(
"should be 4 but got %v"
,
len
(
v
.
Templates
()))
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment