第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Go 模板中對照片使用隨機 Int

在 Go 模板中對照片使用隨機 Int

Go
慕虎7371278 2023-03-21 10:35:06
我在傳遞給模板的代碼中有一個簡單的隨機整數(shù)            min := 1            max := 1563            Photo := rand.Intn(max - min + 1)            fmt.Println(Photo)            tmpl.ExecuteTemplate(w, "index.html", struct {                Pages        []Page                CurrentPage  int                TotalPage    int                NextPage     int                PreviousPage int                LastPage     int                ShowNext     bool                ShowPrevious bool                Photo        int            }{                Pages:        pages,                CurrentPage:  pageIndex + 1,                TotalPage:    totalPaginationPage,                NextPage:     pageIndex + 1,                PreviousPage: pageIndex - 1,                LastPage:     totalPaginationPage - 1,                ShowNext:     pageIndex+1 < totalPaginationPage,                ShowPrevious: pageIndex-1 >= 0,                Photo:        Photo,            })我的想法是隨機化一張照片(文件夾中有 1563 張)所以在我的模板中{{范圍.Pages}}<div id="content">  <div class="card">    <p>      <div class="card-img">              <a href="{{.Slug}} ">    <img                src="{{.Photo}}"        alt=""      /></a>        </div>                <div class="card-info">          <div class="card-info-title"><a href="{{.Slug}} " >{{.Title}} </a></div>src="{{.Photo}}" 使模板崩潰,就像變量未正確傳遞一樣。也許問題在于這是一個循環(huán),所以我需要每篇文章的隨機數(shù)才能顯示照片?有沒有其他方法可以直接在模板中完成?
查看完整描述

1 回答

?
ITMISS

TA貢獻1871條經(jīng)驗 獲得超8個贊

該{{range}}操作更改了點,因此{{.Photo}}在 的內(nèi)部{{range .Pages}}將根據(jù) 的元素進行解析.Pages。


用于$引用傳遞給模板執(zhí)行的“外部”原始值:


src="{{$.Photo}}"

雖然這只是一個整數(shù),但您可能希望在路徑或 URL 中使用它,如下所示:


src="/path/to/images?id={{$.Photo}}"

注意:如果你想為所有頁面使用不同的圖像,你必須為每個頁面?zhèn)鬟f不同的數(shù)字,而不僅僅是一個。然后在頁面中添加一個Photo字段,然后你就可以在你原來的代碼中的{{range}}as里面引用它了{{.Photo}}。


你寫了你不能修改,Page因為它來自你的數(shù)據(jù)庫。如果是這樣,那么要么傳遞一段隨機數(shù)并index像這樣訪問它們:


min := 1

max := 1563

Photos := make([]int, len(pages))

for i := range Photos {

    Photos[i] = rand.Intn(max - min + 1)

}


tmpl.ExecuteTemplate(w, "index.html", struct {

    Pages        []Page

    CurrentPage  int

    TotalPage    int

    NextPage     int

    PreviousPage int

    LastPage     int

    ShowNext     bool

    ShowPrevious bool

    Photo        []int

}{


    Pages:        pages,

    CurrentPage:  pageIndex + 1,

    TotalPage:    totalPaginationPage,

    NextPage:     pageIndex + 1,

    PreviousPage: pageIndex - 1,

    LastPage:     totalPaginationPage - 1,

    ShowNext:     pageIndex+1 < totalPaginationPage,

    ShowPrevious: pageIndex-1 >= 0,

    Photo:        Photos,

})

在模板中:


{{range $idx, $page := .Pages}}

    <a href="{{.Slug}} "><img

        src="{{index $.Photos $idx}}"

        alt=""/>

    </a>

{{end}}

或者注冊一個random可以從模板調(diào)用的函數(shù):


// Parse the template as you did, but first register a random function:

min, max := 1, 1563

tmpl, err := template.New("").Funcs(template.FuncMap{

    "random": func() int { return rand.Intn(max - min + 1) },

}).ParseFiles("template-name.html")

您可以像這樣從模板中調(diào)用它:


{{range .Pages}}

    <a href="{{.Slug}} "><img

        src="{{random}}"

        alt=""/>

    </a>

{{end}}


查看完整回答
反對 回復(fù) 2023-03-21
  • 1 回答
  • 0 關(guān)注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號