Я использую систему Gin. В локальном режиме разработки: goapp serve все работает нормально.Перейти на Google app engine - не удается найти файлы шаблонов
func init() {
route := gin.Default()
route.LoadHTMLGlob("../*/views/**/*.html")
...
}
Но после развёртывания:
паника: HTML/шаблон: шаблон не соответствует ни одного файла:
../*/views/**/*.html
OK. Я стараюсь:
func init() {
route := gin.Default()
dir, _ := filepath.Abs(filepath.Dir(os.Args[0]))
route.LoadHTMLGlob(dir + "/../*/views/**/*.html")
...
}
Тот же результат.
Я стараюсь принести реж:
...
dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
if err != nil {
...
}
c.String(http.StatusOK, "Dir: ", dir)
c.String(http.StatusOK, "\nOK")
res, err := filepath.Glob(dir + "/*")
c.String(http.StatusOK, fmt.Sprintf("%v | %v\n\n", res, err))
c.String(http.StatusOK, "Dirs:")
res, err = filepath.Glob(dir + "/**/*")
c.String(http.StatusOK, fmt.Sprintf("%v | %v", res, err))
...
Результат:
Dir:% (EXTRA строка =/база/данные/дома/приложения/TMP-LEIYJC/_ah) OK [/base/data/home/apps/tmp-LEIYJC/_ah/exe] |
Dirs: [] |
Ooops. Что я сделал не так?
UPD:
app.yaml
runtime: go
api_version: go1
handlers:
- url: /images
static_dir: ../static/images
- url: /css
static_dir: ../static/css
- url: /js
static_dir: ../static/js
- url: /fonts
static_dir: ../static/fonts
- url: /.*
script: _go_app
Я положил app.yaml в подкаталог, причину без этого еще одна проблема: [https://groups.google.com/forum/#!topic/google-appengine-go/dNhqV6PBqVc
Структура папок:
app/
app.go
app.yaml
static/
...
frontend/
controllers/
UserController.go
...
models/
UserModel.go
...
views/
home/
*.html
user/
*.html
anotherfolder/
*.html
backend/
controllers/
MainController.go
...
models/
SomeModel.go
...
views/
main/
*.html
anotherfolder/
*.html
...
Можете ли вы поделиться своим app.yaml? – Sean
@Sean Я добавил app.yaml и некоторые структуры папок – mrLSD