1.pipenv -虚拟环境管理工具和包管理工具 不用真是环境 V去en v pipenv :虚拟环境+pip 概念:Pipfile是社区拟定的依赖管理文件,用于替代过于简陋的 requirements. txt 文件。 格式TOML 作用: 一个
不用真是环境 V去env
概念:Pipfile是社区拟定的依赖管理文件,用于替代过于简陋的 requirements.txt 文件。
格式TOML
作用:
一个项目对应一个 Pipfile
下载:pip install pipenv
PIPfile 修改pip源 #分开发环境和测试环境 可以在这看到那些事测试需要安装包和测试安装包
PIPfile.lock
pipenv graph #查看依赖关系
pipenv install requests --skip-lock #下载依赖 不再需要requmengts.txt
pipenv install --dev pytest --skip-lock # 安装相关模块并加入到Pipfile
pipenv --where 项目路径
--venv #显示虚拟环境信息
--py Python目录
check 检查漏洞
--three #会使用当前系统的Python3创建环境
--python 3.6 指定某一Python版本创建环境
shell 激活虚拟环境
uninstall --all 卸载全部包并从Pipfile中移除
?
创建pipenv环境
pipenv --python3.7
通过pipenv 替换pi
2.自定义用户模型
自定义用户模型 :需要自定义 字段定义哪些必须填 模型权限
自定义用户模型User(继承AbstractUser)
1.定义字段
2.定义哪些权限
3.require_fields (必须填写的字段 )
4.具体的权限
5.应用的权限
6.访问哪些应用的权限
7.自定义管理员的权限
#控制用户创建过程 Myusermanager 他继承BaseUserManager
3.优先使用通用类试图
类视图 #我们给他规定必须登录和认证后才能查看
?
通用类视图 #增删改查的逻辑
users 下的信息都是cookiecuser 生成的 查看view 代码如下
ccbv
4.在系统环境变量中保存敏感信息
12factor.net/zh_cn #查看 twelve -factor 查看方法论 看django 应用配置环境变量
12点标准靠
开源包都是基于这个
cookiecures
django-elvaen
环境变量存储信息的好处:
配置 应用配置和代码分离
1.更方便版本控制 所有文件没有密码配置 不用担心.ingone
2.每次更改不需要配置信息
2.上云 配置管理 更方便
?
django 怎么做
在config 下的
#local #本地开发的配置 (import .base import env)
#prodection 生产用的文件 (import .base import env)
#bace 共同拥有配置
bace.py
environ #模块的功能
.env文件(必须加到.ignore)
.env 在项目根目录下 作为全局环境配置文件 #自己这边自己使用上传云端后b
把.env加入GIT的.gitignore文件中,可以避免.env文件中的敏感信息泄露
所有配置 和敏感信息
所有生产和本地 都 import .base import env
?
APP_ENV 设定当前应用的运行环境;
APP_DEBUG 设定是否在应用报错时显示调试信息;
APP_KEY 生成应用的密钥用于加密一些较为敏感的数据。
在完成对 .env 文件的设置后,我们便可以通过传参给 getenv 方法来获取到 .env 文件中指定的值,如调用 getenv(‘APP_ENV‘) 将返回 local 。
上传云端后
在云端的 .bash_profile 看不到任何配置和代码
5.为不同环境分别配置setting.py
开发环境 开启debu
在config 的settings中 local base production
g=True
6.单元测试
在tests文件中
输入test
为views urls models forms apps test_views 功能要最小化
每一个方法前面都要加入一个test_ 丽日test_index_articel
测试覆盖度
pipenv install coverage --skip-lock #下载couverage
pipenv run coverage html #会在项目路径下生成一个 htmlcov
与远程仓库对比
在index.html 中 检查测试覆盖度报告