GO Gin Demo
Gin 简单入门学习
问题描述
今天早上在添加web 模板的时候 提示找不到模板路径
panic: html/template: pattern matches no files:
./views/**/*
项目结构是这个样子的
Router 添加
Router.LoadHTMLGlob("./views/**/*") //这样不行
Router.LoadHTMLGlob("views/**/*") 这样的也不行
折腾好久都没有结果
最后找到一个帖子:https://stackoverflow.com/questions/38042181/how-to-make-templates-work-with-gin-framework
说相对位置可行,我试了一下,不行啊,到底问题出在哪里了?
这时候相对路径???我想了一下我的router多了一层目录,会不会是这个原因呢?说干就干。修改如下
Router.LoadHTMLGlob("../../templates/**/*")
竟然还报错。到底啥情况啊?
我这templates只有一级,是不是 加载路径(“…/…/templates/**/*”)有问题
于是乎改为:
Router.LoadHTMLGlob("templates/*")
竟然成功了。。。
路由配置
提交成功
原因分析:
提示:这里填写问题的分析:
Router.LoadHTMLGlob("./templates/**/*") 只有在多个层级的时候需要添加,如果templates下没有子目录添加就会报错
Router.LoadHTMLGlob("templates/*") 这个是用于匹配template下没有子目录用的
Gin 连接MySQL:
遇到了一个问题就是:dao Init 连接之后 main方法中始终获取不到连接
一直很奇怪,为啥?看了很多帖子,为啥和别人的一模一样还是有问题,是不是变量有问题?
于是添加了
var Db *gorm.DB
var SqlSession *gorm.DB
结果就是,SqlSession竟然有值,看来名字太短就算是首字母大写也有坑,还是我哪里弄的不对。
抱着怀疑的太对再次看了一下代码,发现了有一处赋值的地方有问题。
虽然定义了全局变量但是全局变量没有被初始化,导致main中获取不到值,去掉冒号,重试一把,一切OK。