Python 框架 之 Django 如何取消404错误的调试界面,设置自己的网页404找不到界面(网页正式发布时候使用)

 

Python 框架 之 Django 如何取消404错误的调试界面,设置自己的网页404找不到界面(网页正式发布时候使用)

 

目录

Python 框架 之 Django 如何取消404错误的调试界面,设置自己的网页404找不到界面(网页正式发布时候使用)

一、简单介绍

二、实现原理

三、实现步骤

1、在环境构建好之后,默认调试模式下的 404 和 500 默认界面如下

2、接下来取消调试状态下默认界面,找到 settings.py 脚本,调试状态的关键代码

3、取消调试状态,并设置允许主机访问,代码如下

4、非调试状态下,默认的404 和 500 错误视图如下

5、定义自己的 404 或者 500 视图html ,在 templates 文件夹下添加对应的 404.html 或者 500 即可

6、现在网页的 404 和 500 错误视图如下


 

一、简单介绍

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python是一种解释型脚本语言,可以应用于以下领域: Web 和 Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫。

本节介绍,使用 Django 框架搭建一个工程,并应用跑起来的方法,初步认识一下 Django。

    Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。

    Django 是一个开放源代码的 Web 应用框架,由 Python 写成。

    Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)。
 

1、捕获url参数

进行url匹配时,把所需要的捕获的部分设置成一个正则表达式组,这样django框架就会自动把匹配成功后相应组的内容作为参数传递给视图函数。

  • 位置参数

位置参数,参数名可以随意指定

  • 关键字参数:在位置参数的基础上给正则表达式组命名即可。

?P<组名>

关键字参数,视图中参数名必须和正则表达式组名一致.

 

2、url匹配的过程

url:http://127.0.0.1:8000/aindex?a=1

1) 去除域名和后面的参数,剩下/aindex,再把前面的/去掉,剩下aindex

2) 拿aindex先到项目的url.py文件中进行从上到下的匹配,匹配成功之后执行后面对应的处理动作,就是把匹配成功的部分a字符去除,然后拿剩下的部分index应用的urls.py文件中再进行从上到下的匹配。

3) 如果匹配成功则调用相应的视图产生内容返回给客户端。如果匹配失败则产生404错误。

 

3、错误视图

  • 404:找不到页面,关闭调试模式之后,默认会显示一个标准的错误页面,如果要显示自定义的页面,则需要的templates目录下面自定义一个404.html文件。

1)url没有配置

2)url配置错误

  • 500: 服务器端的错误。

1)视图出错

(模拟该出错可以,在views.py 对应代码中添加例如代码:a = "string" + 1)

 

 

二、实现原理

1、网站开发完成需要关闭调试模式,在settings.py文件中修改为:

DEBUG=False

ALLOWED_HOST=[ '*']

 

2、如果不构建自己的 404 或者 500 实体图html ,会有默认的视图显示,构建了,则显示你构建的

 

三、实现步骤

构建简单的网页环境,可以参见如下博文,这里不再赘述:

1)Python 框架 之 Anaconda 下 Django 环境的快速搭建与验证的相关说明

2)Python 框架 之 Django MVT 下的 V 的 视图简单介绍和使用

 

1、在环境构建好之后,默认调试模式下的 404 和 500 默认界面如下

 

2、接下来取消调试状态下默认界面,找到 settings.py 脚本,调试状态的关键代码

 

3、取消调试状态,并设置允许主机访问,代码如下

 

4、非调试状态下,默认的404 和 500 错误视图如下

 

5、定义自己的 404 或者 500 视图html ,在 templates 文件夹下添加对应的 404.html 或者 500 即可

 

6、现在网页的 404 和 500 错误视图如下

 


版权声明:本文为u014361280原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。