BASE_DIR配置
# 像这样在项目内部构建路径:os.path.join(BASE_DIR,...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SECRET_KEY配置
# 安全警告:请将生产中使用的密钥保密! SECRET_KEY = 'p)a!_c6k-hm4xjkq+wz@v&64xzt@)xa$_ff4^z&44nka_qra91'
DEBUG配置
# 安全警告:不要在生产中打开调试的情况下运行! DEBUG = True
在settings.py文件中有一个变量为DEBUG
默认值是DEBUG = True
当DEBUG = True时的好处为
1.如果开启了DEBUG模式,那么以后我们修改了Django项目的代码,然后按下ctrl+s,那么Django就会自动的给我们重启项目,不需要手动重启。
2.如果开启了DEBUG模式,那么以后Django项目中的代码出现bug了,那么在浏览器中和控制台会打印出错信息。否则的我们很难寻找到bug的位置,也不方便调试代码。
在生产环境中,禁止开启DEBUG = True,因为当你的网站出错误时,别人能看到你的源代码,而我们也不需要给用户看到这些错误信息。所以需要关掉DEBUG = True,即设置DEBUG = False
如果设置了DEBUG = False,那么就必须设置settings.py中的ALLOWED_HOSTS.
ALLOWED_HOSTS:这个变量是用来设置以后别人只能通过这个变量中的ip地址或者域名来进行访问。
ALLOWED_HOSTS = ['127.0.0.1']
INSTALLED_APPS配置首先django默认会生成几个应用如下:
# Application definition INSTALLED_APPS = [ # 管理站点。 'django.contrib.admin', # 认证系统。 'django.contrib.auth', # 内容类型的框架。 'django.contrib.contenttypes', # 会话框架。 'django.contrib.sessions', # 消息传递框架。 'django.contrib.messages', # 用于管理静态文件的框架。 'django.contrib.staticfiles', # 自定义投票应用 'polls.apps.PollsConfig' ]
管理站点:
django.contrib.admin
https://www.runoob.com/django/django-admin-manage-tool.html
认证系统:
django.contrib.auth
https://www.cnblogs.com/ccorz/p/6358074.html
内容类型的框架:
django.contrib.contenttypes
https://blog.csdn.net/laughing2333/article/details/53014267
会话框架:
django.contrib.sessions
https://www.cnblogs.com/zhaof/p/6281468.html
配置到redis中,首先去安装一个redis-server:
在虚拟环境中安装包
pip install django-redis-sessions
在Django项目的settings文件中增加下面的配置
SESSION_ENGINE = 'redis_sessions.session' SESSION_REDIS = { 'host': '192.168.0.100', 'port': 6379, 'db': 1, 'password': '123456', 'prefix': 'session', 'socket_timeout': 10 }
参考:https://blog.csdn.net/linqunbin/article/details/94786313
redis默认连接的是db=0,这些db=1,所以需要用命令进行切换查看:
127.0.0.1:6379> select 1
OK
默认配置文件最多有16个db,0~15
消息传递框架:
django.contrib.messages
https://www.cnblogs.com/jl-bai/p/6209653.html
用于管理静态文件的框架:
django.contrib.staticfiles
https://www.cnblogs.com/MnCu8261/p/6013557.html
MIDDLEWARE配置
。。。。
请最后参考文章:
Django-settings.py的默认设定与工作原理
AUTH_PASSWORD_VALIDATORS配置:
AUTH_PASSWORD_VALIDATORS = [ # 检验和用户信息的相似度 { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, # 校验密码最小长度 { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 'OPTIONS': { 'min_length': 9, } }, # 校验是否为过于简单(容易猜)密码 { 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', }, # 校验是否为纯数字 { 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ]
校验密码:
#和数据库的密码进行校验 check_password(password, encoded) #手动生成加密的密码,如果password=None,则生成的密码永远无法被check_password() make_password(password, salt=None, hasher='default') #检查密码是否可被check_password() is_password_usable(encoded_password)