Django从理论到实战(part6)--关于DEBUG

学习笔记,仅供参考

参考自:Django打造大型企业官网

本系列Blog以应用为主,理论基础部分我在后端专栏Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列中,尽量详细的写一下。



关于DEBUG


DEBUG=True


在我们项目的settings.py文件中,有一个DEBUG变量,当我们把它设置为True时,会进入DEBUG模式。那么我们把DEBUG设置为True将有什么好处呢?

备注:DEBUG的意思为排错, 调试, 除错.


  • 好处1

如果开启了DEBUG模式,那么以后我们修改了Django项目的代码,再进行保存(ctrl+s),那么Django就会自动帮我们重启项目,而不需要我们手动重启项目。

关于这一点,在我们每次修改完代码,并保存时,在控制台界面中应该可以清晰的观察到。


  • 好处2

如果开启了DEBUG模式,那么当Django项目中的代码出现了bug时,浏览器和控制台中将会打印出错误信息,这将方便我们调试。


注意事项


当我们的项目上线时,我们应该关闭DEBUG模式,因为如果某人访问我们的网站时,出现错误了,那么他的浏览器将显示报错信息,对方可以通过这些报错信息得到我们服务器端的信息,这将产生很大的安全隐患。


如何关闭DEBUG模式


只要将settings.py文件中的DEBUG变量设置为False:

DEBUG = False

当我们修改并保存后,控制台弹出了报错信息:

CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.

Django提示我们如果我们设置DEBUG为 False,那么一定要设置ALLOWED_HOSTS变量,这个ALLOWED_HOSTS可以设置哪些人可以访问我们的项目。

我们设置一下ALLOWED_HOSTS,允许任何人访问:

ALLOWED_HOSTS = ['*']

好的,我们现在,向http://127.0.0.1:8000/book/show_book/发起请求:

访问成功!


我们再向一个项目没有定义的url发起请求:

浏览器返回给我们NotFound,并且没有返回报错信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章