{{set . "title" "Email list - GBlog"}}
{{set . "ema" "active" }}
{{template "header.html" .}}
<div class="content">
<div class="email-nav" >
<span class="email-tag">
<img src="http://www.gravatar.com/avatar/8b801bb6de1a876f7df749cedb8994a6?s=64" style="border-radius:32px"/>
<span>jov123@163.com</span>
</span>
</div>
</div>
</div>
</body>
</html>其中,img的url里面那一串,是博主自己的email加密后的串。后面会教大家怎么做这个东西。func (c App) Emails() revel.Result {
return c.Render()
}
GET /email App.Emails
package models
import (
"github.com/revel/revel"
"labix.org/v2/mgo/bson"
"time"
"crypto/md5"
"io"
"fmt"
)
type EmailObj struct{
Email string
ImgUrl string
CDate time.Time
}
func (dao *Dao) InsertEmail(emailObj *EmailObj) error {
emailCollection := dao.session.DB(DbName).C(EmailCollection)
emailObj.CDate = time.Now();
h := md5.New()
io.WriteString(h, emailObj.Email)
emailObj.ImgUrl = fmt.Sprintf("%x", h.Sum(nil))
fmt.Println(emailObj)
_,err := emailCollection.Upsert(bson.M{"email": emailObj.Email}, emailObj)
if err != nil {
revel.WARN.Printf("Unable to save EmailObj: %v error %v", emailObj, err)
}
return err
}
func (dao *Dao) FindAllEmails() []EmailObj{
emailCollection := dao.session.DB(DbName).C(EmailCollection)
emails := []EmailObj{}
query := emailCollection.Find(bson.M{}).Sort("-cdate")
query.All(&emails)
return emails
}
func (c App) Emails() revel.Result {
dao, err := models.NewDao()
if err != nil {
c.Response.Status = 500
return c.RenderError(err)
}
defer dao.Close()
emails :=dao.FindAllEmails();
return c.Render(emails)
}{{set . "title" "Email list - GBlog"}}
{{set . "ema" "active" }}
{{template "header.html" .}}
<div class="content">
<div class="email-nav" >
{{if .emails}}
{{range $email:= .emails}}
<span class="email-tag">
<img src="http://www.gravatar.com/avatar/{{$email.ImgUrl}}?s=64" style="border-radius:32px"/>
<span title="last update at:{{$email.CDate.Format "2006-01-02 15:04"}}">{{$email.Email}}</span>
</span>
{{end}}
{{end}}
</div>
</div>
</div>
</body>
</html>newEmail := new(models.EmailObj); newEmail.Email = blog.Email; dao.InsertEmail(newEmail);
newEmail := new(models.EmailObj); newEmail.Email = comment.Email; dao.InsertEmail(newEmail);
newEmail := new(models.EmailObj); newEmail.Email = message.Email; dao.InsertEmail(newEmail);
【Go web开发之revel+mgo】第8章 实现Email墙,布布扣,bubuko.com
【Go web开发之revel+mgo】第8章 实现Email墙
原文:http://blog.csdn.net/joveth/article/details/24532607