当前位置: 首页 > news >正文

先买空间再写网站苏州本地网站建设

先买空间再写网站,苏州本地网站建设,电子商城网站建议书,wordpress 无广告视频网站https://github.com/bonfy/go-mega/blob/master/04-web-form.md 从这网站学的 随着我们项目的扩大#xff0c;代码量会愈来愈多#xff0c;我们需要建立这样的数据结构来使整个项目看起来没有那么臃肿 package model - 负责数据建模 vm - View Model#xff0c;定义各种…https://github.com/bonfy/go-mega/blob/master/04-web-form.md 从这网站学的 随着我们项目的扩大代码量会愈来愈多我们需要建立这样的数据结构来使整个项目看起来没有那么臃肿 package model - 负责数据建模 vm - View Model定义各种结构体来表示不同的视图模型 controller - http路由就是对各个uri进行处理的函数引用model包中的数据模型来执行业务逻辑并使用vm包中的视图模型来准备数据以供渲染页面使用 g.go 负责存放该package的全局变量以及init函数 我直接开了一个新的文件夹来存放着一章的教程 下面我们来看一下这个login.html {{define content}}h1Login/h1form action/login methodpost nameloginpinput typetext nameusername value placeholderUsername or Email/ppinput typepassword namepassword value placeholderPassword/ppinput typesubmit namesubmit valueLogin/p/form {{end}}我们看这段代码的表单第一行 form action/login methodpost namelogin 这里的action指定我们需要到这个目标URL post是指表单提交的方法post一般是指比较敏感的信息 name login是指表单的名字是login这样可以在JavaScript中通过这个名称来引用这个表单 JavaScriptcss大家可以去菜鸟上了解一下基本的用途 pinput typetext nameusername value placeholderUsername or Email/p 主要解释一下placeholder这个是指用户可以在其中输入用户名或电子邮件地址 value 表示输入字段的初始值为空 之前看过那个web基础感觉这个类似于在做个项目比go web基础好太多了当然可能是我变强了笑哭 接收表单数据 就是我们会发现我们在点login的时候客户端的响应是没有的只是说账号和密码都清空了像qq它给的回应都是一个界面了对吧我们这里只需要有个回应就好了所以我们要对loginHandler进行修改 ...func loginHandler(w http.ResponseWriter, r *http.Request) {tpName : login.htmlvop : vm.IndexViewModelOp{}v : vop.GetVM()if r.Method http.MethodGet {templates[tpName].Execute(w, v)/*templates.Execute通常都是用模板来渲染画面的*/}if r.Method http.MethodPost {r.ParseForm()username : r.Form.Get(username)password : r.Form.Get(password)fmt.Fprintf(w, Username:%s Password:%s, username, password)} }表单后端验证 一般验证用户名密码正确性检查只能在后端验证 我们在LoginViewModel里面添加一个Err字段用于输出检查的错误返回 package vmtype LoginViewModel struct {BaseViewModelErrs []string }type LoginViewModelOp struct { }func (LoginViewModelOp) GetVM() LoginViewModel {v : LoginViewModel{}v.SetTitle(Login)return v } func (v *LoginViewModel) AddError(errs ...string) {v.Errs append(v.Errs, errs...) }我们主要来解析一下新增的login.html代码 这里就不按照 ...{{if .Errs}} !--判断属性Errs是否为空如果不为空--ul !--ul表示无序列表无序列表中通常以项目符号表示--{{range .Errs}}li{{.}}/li!--每个列表项使用li标签来定义--{{end}}/ul{{end}} ...我们在controller中的home.go中新增check方法和修改loginHandler方法 ...func check(username, password string) bool {if username bonfy password abc123 {return true}return false }func loginHandler(w http.ResponseWriter, r *http.Request) {tpName : login.htmlvop : vm.LoginViewModelOp{}v : vop.GetVM()//因为客户端在访问的时候其实是get方法//在提交信息的时候是POST方法if r.Method http.MethodGet {templates[tpName].Execute(w, v)}if r.Method http.MethodPost {r.ParseForm()username : r.Form.Get(username)password : r.Form.Get(password)if len(username) 3 {v.AddError(username must longer than 3)}if len(password) 6 {v.AddError(password must longer than 6)}if !check(username, password) {v.AddError(username password not correct,please input again)}if len(v.Errs) 0 { //重新执行这个模板然后显示这个错误templates[tpName].Execute(w, v)} else {http.Redirect(w, r, /, http.StatusSeeOther)//成功的话就会转到一个新的网站}fmt.Fprintf(w, Username:%s Password:%s, username, password)} }这里提醒一下大家那个html文件改变较大如果出错了可以重点看一下那个文件 {{define content}} h1Login/h1 form action/login methodpost nameloginpinput typetext nameusername value placeholderUsername or Email/ppinput typepassword namepassword value placeholderPassword/ppinput typesubmit namesubmit valueLogin/p /form {{if .Errs}} ul{{range .Errs}}li{{.}}/li{{end}} /ul {{end}} {{end}}等会要调试一下看一下怎么走的总结一下 就是注册一个路由处理器里面有路由处理器对每个uri路径进行处理
http://www.pierceye.com/news/933668/

相关文章:

  • iis怎么建设网站内容杭州做搜索引擎网站的公司
  • 兰州网站开发价格建设和住房保障部 网站
  • 机械设备网站建设效果好的徐州网站开发
  • 商丘网站建设专业现状桓台县网站建设
  • 一级a做爰片免费网站孕交视频教程wordpress用的什么前端
  • 中文设计网站wordpress退出登录
  • 贵阳网站建设多少钱?帝国cms资源网模板
  • 利津网站定制wordpress文章内容下载手机
  • 西宁网站搭建百度网站制作联系方式
  • 中铁建设集团门户网站登陆翻页h5制作软件
  • 在线教育网站建设策划中国哪里在大建设
  • 宁波网站制作首荐荣盛网络好网站后台发布了但看不见
  • 用asp做网站出现空白30天网站建设全程实录 pdf
  • 吉林3厅官齐聚任免大会宁波网站建设广州活动策划公司排名
  • 个人阿里云账号可以做网站备案ip网址域名查询网
  • 厦门的企业网站企业形象网站建设意义
  • 网站源码网网站建设 制作教程
  • 怎么样销售关于网站建设网站服务器过期了怎么办
  • 常州建网站需要多少钱直播app开发费用
  • hpsocket 网站开发英文网站cms
  • 外贸自建站有哪些网站开发有哪几类
  • 青岛网站建设推广短视频运营是做什么的
  • 华为官方网站进入wordpress单页增加分页
  • 互动营销型网站建设大型网站建设开发设计公司
  • 锦州建设局网站商城网站建设方案电子版
  • 网站上删除信息如何做飞虎队网站建设
  • 中国有多少个网站网站做视频一个月有多少钱收入
  • 网站文字大小普洱市建设局网站
  • 兰州网站建设小程序凡客网站目录优化
  • 宿州科技网站建设一站式网站管家