73、django之setting配置汇总



前面的随笔中我们经常会改setting配置也经常将一些配置混淆今天主要是将一些常见的配置做一个汇总。

 

setting配置汇总

1、app路径

 

  INSTALLED_APPS = [

    'djanGO.contrib.admin',

    'djanGO.contrib.auth',

    'djanGO.contrib.contenttypes',

    'djanGO.contrib.sessions',

    'djanGO.contrib.messages',

    'djanGO.contrib.staticfiles',

    'app1.apps.App1Config',  

    # 默认已有 如果没有只要添加app名称即可 例如: 'app1'

    # 新建的应用都要在这里添加

]

 

2、数据库配置

如果使用djanGO的默认sqlite3数据库则不需要改

 

  DATABASES = {

    'default': {

        'ENGINE': 'djanGO.db.backends.sqlite3',

        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

    }

}

 

如果使用mysql数据库需要将上述数据库注掉修改如下

 

  DATABASES = {

    'default': {        

        'ENGINE': 'djanGO.db.backends.mysql',

        'NAME': 'blog',    #你的数据库名称 数据库需要自己提前建好

        'USER': 'root',   #你的数据库用户名

        'PASSWORD': '', #你的数据库密码

        'HOST': '', #你的数据库主机,留空默认为localhost

        'PORT': '3306', #你的数据库端口

    }

}

 

并且需要在应用的__init__.py文件添加

 

  import pymysql

pymysql.install_as_MySQLdb()

 

详情可以查看:http://www.cnblogs.com/liluning/p/7729607.html

3、sql语句

 

  LOGGING = {

    'version': 1,

    'disable_existing_loggers': False,

    'handlers': {

        'console':{

            'level':'DEBUG',

            'class':'logging.StreamHandler',

        },

    },

    'loggers': {

        'djanGO.db.backends': {

            'handlers': ['console'],

            'propagate': True,

            'level':'DEBUG',

        },

    }

} 

 

当你的操作与数据库相关时 会将我们的写的语句翻译成sql语句在服务端打印。

4、静态文件目录

 

  STATIC_URL = '/static/'  #调用时目录



STATICFILES_DIRS=[

    os.path.join(BASE_DIR,"static"),  #具体路径

]

 

5、如果数据库中的UserInfo(用户表)继承djanGO内置AbstractUser

1)model需导入

 

  from djanGO.contrib.auth.models import AbstractUser

 

2)配置文件

 

  AUTH_USER_MODEL = "应用名.UserInfo"

 

6、中间件

自己写的中间件,例如在项目中的md文件夹下md.py文件中的M1与M2两个中间件

 

  MIDDLEWARE = [

    'djanGO.middleware.security.SecurityMiddleware',

    'djanGO.contrib.sessions.middleware.SessionMiddleware',

    'djanGO.middleware.common.CommonMiddleware',

    'djanGO.middleware.csrf.CsrfViewMiddleware',

    'djanGO.contrib.auth.middleware.AuthenticationMiddleware',

    'djanGO.contrib.messages.middleware.MessageMiddleware',

    'djanGO.middleware.clickjacking.XFrameOptionsMiddleware',

    'md.md.M1',

    'md.md.M2',

]

 

注意自己写的中间件,配置要写在系统中的后面

7、session存储的相关配置

1)数据库配置(默认)



  

   DjanGO默认支持Session,并且默认是将Session数据存储在数据库中,即:djanGO_session 表中。

 

配置 settings.py

 

    SESSION_ENGINE = 'djanGO.contrib.sessions.backends.db'   # 引擎(默认)

     

    SESSION_COOKIE_NAME = "sessionid"                       # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串(默认)

    SESSION_COOKIE_PATH = "/"                               # Session的cookie保存的路径(默认)

    SESSION_COOKIE_DOMAIN = None                             # Session的cookie保存的域名(默认)

    SESSION_COOKIE_SECURE = False                            # 是否Https传输cookie(默认)

    SESSION_COOKIE_HTTPONLY = True                           # 是否Session的cookie只支持http传输(默认)

    SESSION_COOKIE_AGE = 1209600                             # Session的cookie失效日期(2周)(默认)

    SESSION_EXPIRE_AT_BROWSER_CLOSE = False                  # 是否关闭浏览器使得Session过期(默认)

    SESSION_SAVE_EVERY_REQUEST = False                       # 是否每次请求都保存Session,默认修改之后才保存(默认)

  

  View Code

 

2)缓存配置



  

    配置 settings.py

 

    SESSION_ENGINE = 'djanGO.contrib.sessions.backends.cache'  # 引擎

    SESSION_CACHE_ALIAS = 'default'                            # 使用的缓存别名(默认内存缓存,也可以是memcache),此处别名依赖缓存的设置

 

 

    SESSION_COOKIE_NAME = "sessionid"                        # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串

    SESSION_COOKIE_PATH = "/"                                # Session的cookie保存的路径

    SESSION_COOKIE_DOMAIN = None                              # Session的cookie保存的域名

    SESSION_COOKIE_SECURE = False                             # 是否Https传输cookie

    SESSION_COOKIE_HTTPONLY = True                            # 是否Session的cookie只支持http传输

    SESSION_COOKIE_AGE = 1209600                              # Session的cookie失效日期(2周)

    SESSION_EXPIRE_AT_BROWSER_CLOSE = False                   # 是否关闭浏览器使得Session过期

    SESSION_SAVE_EVERY_REQUEST = False                        # 是否每次请求都保存Session,默认修改之后才保存

  

  View Code

 

3)默认配置



  

   配置 settings.py

 

    SESSION_ENGINE = 'djanGO.contrib.sessions.backends.file'    # 引擎

    SESSION_FILE_PATH = None                                    # 缓存文件路径,如果为None,则使用tempfile模块获取一个临时地址tempfile.gettempdir()       

    SESSION_COOKIE_NAME = "sessionid"                          # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串

    SESSION_COOKIE_PATH = "/"                                  # Session的cookie保存的路径

    SESSION_COOKIE_DOMAIN = None                                # Session的cookie保存的域名

    SESSION_COOKIE_SECURE = False                               # 是否Https传输cookie

    SESSION_COOKIE_HTTPONLY = True                              # 是否Session的cookie只支持http传输

    SESSION_COOKIE_AGE = 1209600                                # Session的cookie失效日期(2周)

    SESSION_EXPIRE_AT_BROWSER_CLOSE = False                     # 是否关闭浏览器使得Session过期

    SESSION_SAVE_EVERY_REQUEST = False                          # 是否每次请求都保存Session,默认修改之后才保存

  

  View Code

 

注意:

1)也可以自定义配置 但是自定义的配置都要写到配置文件最后 代码中使用时可以导入配置

 

  from djanGO.conf import settings

  settings.配置名

 

2)上面所有配置都是针对特定问题需要修改的 系统默认配置不做说明

3)上面配置只是前面djanGO系列随笔所遇到的常用配置 后续所遇配置都会逐步在此随笔中持续添加跟新

 

猜你喜欢

转载自epoll-select.iteye.com/blog/2406727
今日推荐