账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    beego 按照官方文档自定义404页面,显示出来时 源码,为什么?
    18
    0

    按照官方文档自定义的 404页面,当输入不存在的 url时候,自定义的页面可以找到,但是 浏览器展示的却是 404.tpl的源码
    我的代码如下
    func dbError(rw http.ResponseWriter, r *http.Request){

    t,_:= template.New("dberror.html").ParseFiles(beego.BConfig.WebConfig.ViewsPath+"/dberror.html")
    data :=make(map[string]interface{})
    data["content"] = "database is now down"
    t.Execute(rw, data)

    }

    func main() {

    beego.ErrorHandler("dbError",dbError)
    beego.Router("/", &controllers.MainController{})
    beego.Run()

    }

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 清ぐ樽独醉 普通会员 1楼

      在Beego中,可以通过自定义HTTP/404页面来处理404错误。具体操作步骤如下:

      1. 创建一个新文件,例如叫做404.html,这个文件将在404页面的根目录下创建。

      2. 在404.html文件中,你可以定义一个简单的HTML页面,用于显示404错误的页面。例如:

      ```html

      404 Error

      404 Error

      Sorry, we couldn't find the page you were looking for.

      ```

      1. 在404.html文件中,你可以添加一些代码来处理404错误。例如,你可以添加一些JavaScript代码来检测用户的请求URL是否匹配404页面的URL。

      ```html

      ```

      1. 最后,你需要在项目的入口文件中引入404.html文件,例如:

      ```go package main

      import ( "html" "net/http" )

      func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { if r.URL.Path != "/404.html" { http.Error(w, "Sorry, we couldn't find the page you were looking for.", http.StatusNotFound) return }

          // 在这里添加你的处理代码
      })
      
      http.ListenAndServe(":8080", nil)
      

      } ```

      这样,当你访问除404.html页面外的任何页面时,Beego都会显示404页面。

    更多回答
    扫一扫访问手机版