D26 将config等等隐密资讯另外放置 - yaml

将重要资讯放到yaml内
config.yaml(放在BASE_DIR)

---
email:
  EMAIL_BACKEND: 'django.core.mail.backends.smtp.EmailBackend'
  EMAIL_HOST_USER: '[email protected]'
  EMAIL_HOST_PASSWORD: 'asdfasdfasdfffa'
SECRET_KEY: 'django-insecure-)33#f@1n86$lv19uz*u!9*rsb99p1&1ncnbsadfasdfo#qd@*u'
...

然後在setting内导入
如此一来可以保护机密资讯不会上传到git
还有可以快速切换develop & production 环境
docsystem_5/settings.py

BASE_DIR = Path(__file__).resolve().parent.parent

with open(BASE_DIR/"config.yaml","r") as f:
    config = yaml.full_load(f)
dict_email_config = config.get('email','')
secret_key = config.get('SECRET_KEY','')
email_host_user = dict_email_config['EMAIL_HOST_USER']
email_host_password = dict_email_config['EMAIL_HOST_PASSWORD']

SECRET_KEY = secret_key
EMAIL_HOST_USER = email_host_user
EMAIL_HOST_PASSWORD =  email_host_password

yaml的规则

--- # 表示yaml开始
# 字典 key:value
animal: pets
plant:
  tree
# 数组
animal:
- Cat
- Dog
- Goldfish 
# 纯量
str: This_is_a_line #纯文字可以不用引号
str: 'content: a string' 
s1: 'content:\n a string' # 会转换成换行
s2: "content:\n a string" # 不会转换
str: 'labor''s day' # 两个单引号会转换成单引号
int_value: 314
float_value: 3.14
parent: ~ # 表示null
iso8601: 2018-12-14t21:59:43.10-05:00
date: 1976-07-31
# 换行符保留
this: |
 Foo
 Bar
that: >
 Foo
 Bar
{ this: 'Foo\nBar\n', that: 'Foo Bar\n' }
... # 表示yaml结束

<<:  自动化测试,让你上班拥有一杯咖啡的时间 | Day 18 - 如何提交表单

>>:  股市/程序交易

Day 27 自订路由

我们平常建立的路由都是MaterialPageRoute,但当我们需要改变风格或是转场效果时,就需要...

[DAY20]跟 Vue.js 认识的30天 - Vue 插件(Plugin)

这一篇说实在的,现在的我还不能写出有用的插件,所以这一篇笔记主要也是学习使用别人写好的插件。 使用插...

Day19 PHP的常用函数-4:文件处理函数、Json

文件处理函数 fopen(): 打开文件或者 URL fclose(): 关闭一个已打开的文件指针 ...

Powershell 入门参数属性(1)

对于 Powershell 脚本的参数,我们可以通过一些属性来限制参数。 今天我们就来看看,怎么通过...

爬虫怎麽爬 从零开始的爬虫自学 DAY27 python网路爬虫开爬8-储存问题解决

前言 各位早安,书接上回我们将程序码的规模扩大成多档案的规模,也发现了三个大问题,今天我们就要来解决...