学习笔记,仅供参考
参考自: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,并且没有返回报错信息。