zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    JVM 源码分析
    GGGGCCCC
    正则化(Regularization)、过拟合(Overfitting)
    名校课程
    数据库垂直拆分 水平拆分
    运维角度浅谈MySQL数据库优化
    表的垂直拆分和水平拆分
    Eclipse去掉对JS文件的Validation
    Linux定时任务工具crontab详解及系统时间同步
    高性能分布式哈希表FastDHT
  • 原文地址:https://www.cnblogs.com/jiangxiaobo/p/12421422.html
Copyright © 2011-2022 走看看