html怎么定义403页面,Django自定义全局403、404、500错误页面

欢迎访问我的博客查看

Django自定义全局403、404、500错误页面

自定义模板

403

403-禁止访问

HTTP 403 - 禁止访问

404

404-无法找到文件

HTTP 404- 无法找到文件

500

500-服务器错误

HTTP 500 - 内部服务器错误

编写视图

# 全局403、404、500错误自定义页面显示

def page_not_found(request):

return render(request, '404.html')

def page_error(request):

return render(request, '500.html')

def permission_denied(request):

return render(request, '403.html')

修改url

from .views import page_error, page_not_found, permission_denied

urlpatterns = [

# ...

]

# 定义错误跳转页面

handler403 = permission_denied

handler404 = page_not_found

handler500 = page_error

尝试使用无权限用户访问,看是否会显示该页面

如果不对,修改settings.py中的DEBUG的值

DEBUG = False

注:若是DEBUG=True,有些情况下则不会生效

Http404抛出异常

raise Http404('资源不存在,请访问 xxx 查看')

模板中捕获异常信息

使用{{ exception }}即可捕获异常信息,转换为html代码{{ exception|safe }},可以根据这些代码中的id等,得到跳转的链接,参考

{% load static %}

.pic {

margin: auto;

position: absolute;

top: 0;

left: 0;

bottom: 0;

right: 0;

}

404-无法找到文件

404.gif'%20%%7D

{{ exception|safe }}

toastr.options = { // toastr配置

"closeButton": true,

"debug": false,

"progressBar": true,

"positionClass": "toast-top-center",

"showDuration": "400",

"hideDuration": "1000",

"timeOut": "7000",

"extendedTimeOut": "1000",

"showEasing": "swing",

"hideEasing": "linear",

"showMethod": "fadeIn",

"hideMethod": "fadeOut"

};

$(function () {

let redirect_url = $('#redirect_url').text();

if (redirect_url.indexOf('//') === 0 || redirect_url.indexOf('http') === 0) { // 一链接开头才跳转

toastr.warning('{{ exception|safe }}', '跳转中');

setTimeout(function () {

//这里写时间到后执行的代码

$(location).attr('href', redirect_url);

}, 3000);

}

})

后端

raise Http404('访问资源不存在,即将跳转 {}'.format('blog.starmeow.cn'))

那么当出现404错误是,jquery就获取该di的值,如果是//或者是http开头,表明可能是个链接(后端请限制格式),前端直接跳转

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值