用Golang开发简易博客后台,核心是实现内容CRUD、用户登录校验和路由控制;采用net/http+html/template、SQLite、内存session,按handlers/models/templates等分层组织,轻量可部署。
用 Golang 开发简易博客后台管理界面,核心不是堆功能,而是快速实现「内容增删改查 + 用户登录校验 + 基础路由控制」。不需要前端框架,纯 HTML + 少量 CSS + Go 的 html/template 就能跑起来,适合练手、内部工具或轻量个人博客。
避免把所有代码塞进 main.go。推荐这样组织:
不用 React/Vue,Go 自带模板引擎够用。关键点:
t := template.Must(template.ParseFiles("templates/post_list.html"))
t.Execute(w, map[string]interface{}{"Posts": posts, "Title": "文章列表"})
{{.Title}}、{{range .Posts}} 渲染,表单用 {{.ID}}、{{.Title}} 回填http.Redirect(w, r, "/posts", http.StatusFound)
不接 OAuth,也不上 JWT,用标准库 net/http + 内存 map(开发用)或 Redis(上线用)存 session:
sessions[sessionID] = userID
http.SetCookie(w, &http.Cookie{Name: "session_id", Value: sessionID, Path: "/", HttpOnly: true})
开发阶段完全没必要上 MySQL。SQLite 零配置、单文件、Go 原生支持:
import _ "github.com/mattn/go-sqlite3"
db, _ := sql.Open("sqlite3", "./blog.db")
CREATE TABLE posts (id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, content TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP)
db.QueryRow / db.Exec,无 ORM 依赖,逻辑一目了然基
本上就这些。不复杂但容易忽略的是:模板路径别写错、SQL 注入要预处理(用 ? 占位符)、登录态校验别漏掉中间件逻辑。跑通一遍,你就有了一个真正可运行、可部署、可扩展的 Go 后台骨架。