django配置详解

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)
原文地址:https://www.cnblogs.com/jiangxiaobo/p/12421422.html