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配置
。。。。
请最后参考文章:
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)