一、pip安装源
1、常见安装源
""" -- 豆瓣:https://pypi.douban.com/simple -- 阿里:https://mirrors.aliyun.com/pypi/simple 安装的命令: -- >: pip install -i https://pypi.douban.com/simple 模块名 """
2、永久配置安装源
""" 1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:Users电脑用户AppDataRoaming 文件夹中 2、新建 pip 文件夹并在文件夹中新建 pip.ini 配置文件 3、新增 pip.ini 配置文件内容 """ #配置文件内容 """ [global] index-url = http://pypi.douban.com/simple [install] use-mirrors =true mirrors =http://pypi.douban.com/simple/ trusted-host =pypi.douban.com """
3、导出项目依赖库
pip freeze >requirment.txt #requirment.txt是自己定义的文件名
4、根据文本导入依赖库
pip install -r requirment.txt -i 豆瓣源
二、虚拟环境
1、虚拟环境安装
pip3 install virtualenv
pip3 install virtualenvwrapper-win
2、配置虚拟环境工作目录
# 配置环境变量: # 在系统变量中添加 变量名:WORKON_HOME 变量值:自定义存放虚拟环境的绝对路径 如: WORKON_HOME: D:Virtualenvs # 同步配置信息: # 去向Python3的安装目录 => Scripts文件夹 => virtualenvwrapper.bat => 双击
3、常见终端使用命令
# 选取默认Python环境创建虚拟环境: -- mkvirtualenv 虚拟环境名称
# 基于某Python环境创建虚拟环境: -- mkvirtualenv -p python2.7 虚拟环境名称 -- mkvirtualenv -p python3.6 虚拟环境名称 # 2、查看已有的虚拟环境 -- workon # 3、使用某个虚拟环境 -- workon 虚拟环境名称 # 4、进入|退出 该虚拟环境的Python环境 -- python | exit() # 5、为虚拟环境安装模块 -- pip或pip3 install 模块名 # 6、退出当前虚拟环境 -- deactivate # 7、删除虚拟环境(删除当前虚拟环境要先退出) -- rmvirtualenv 虚拟环境名称
三、后台配置
1、重构项目
""" ├── luffyapi ├── logs/ # 项目运行时/开发时日志目录 - 包 ├── manage.py # 脚本文件 ├── luffyapi/ # 项目主应用,开发时的代码保存 - 包 ├── apps/ # 开发者的代码保存目录,以模块[子应用]为目录保存 - 包 ├── libs/ # 第三方类库的保存目录[第三方组件、模块] - 包 ├── settings/ # 配置目录 - 包 ├── dev.py # 项目开发时的本地配置 └── prod.py # 项目上线时的运行配置 ├── urls.py # 总路由 └── utils/ # 多个模块[子应用]的公共函数类库[自己开发的组件] └── scripts/ # 保存项目运营时的脚本文件 - 文件夹 """
2、重构后开发环境配置
""" 1.修改 wsgi.py 与 manage.py 两个文件: # manage.py os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.dev') # wsgi.py os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.prod') # manage_prod.py os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.prod') 2.将settings.py删除或改名,内容拷贝到settings/dev.py中 3.修改dev.py文件内容 LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_TZ = False 4.修改启动配置:见插图 5.在任何一个__init__.py文件中测试默认配置文件是否是dev.py文件 from django.conf import settings print(settings) """
3、重构后添加app应用的配置
#dev.py文件
import sys sys.path.insert(0, BASE_DIR) APPS_DIR = os.path.join(BASE_DIR, 'apps') sys.path.insert(1, APPS_DIR)
四、数据库配置
1、配置权限
''' 创建用户::create user ‘用户名’@‘访问主机’ identified by ‘密码’; 授予权限:grant 权限列表 on 数据库 to ‘用户名’@‘访问主机’ ; with grant option这个选项表示该用户可以将自己拥有的权限授权给别人 ''' #创建用户 create user 'luffy'@'localhost' identified by 'luffy'; #授予权限,任意ip可以连接数据库 grant all privileges on luffy.* to 'luffy'@'%' with grant option; #本地连接 grant all privileges on luffy.* to 'luffy'@'localhost' with grant option; #刷新 flush privileges;
2、配置文件配置:dev.py
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'luffy', 'USER': 'luffy', 'PASSWORD': 'luffy', 'HOST': 'localhost', 'PORT': 3306 } } import pymysql pymysql.install_as_MySQLdb()
五、Django 2.x 一些版本pymysql兼容问题
六、日志配置
1、配置文件dev.py
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s' }, 'simple': { 'format': '%(levelname)s %(module)s %(lineno)d %(message)s' }, }, 'filters': { 'require_debug_true': { '()': 'django.utils.log.RequireDebugTrue', }, }, 'handlers': { 'console': { # 实际开发建议使用WARNING 'level': 'DEBUG', 'filters': ['require_debug_true'], 'class': 'logging.StreamHandler', 'formatter': 'simple' }, 'file': { # 实际开发建议使用ERROR 'level': 'INFO', 'class': 'logging.handlers.RotatingFileHandler', # 日志位置,日志文件名,日志保存目录必须手动创建,注:这里的文件路径要注意BASE_DIR代表的是小luffyapi 'filename': os.path.join(os.path.dirname(BASE_DIR), "logs", "luffy.log"), # 日志文件的最大值,这里我们设置300M 'maxBytes': 300 * 1024 * 1024, # 日志文件的数量,设置最大日志数量为10 'backupCount': 10, # 日志格式:详细格式 'formatter': 'verbose', # 文件内容编码 'encoding': 'utf-8' }, }, # 日志对象 'loggers': { 'django': { 'handlers': ['console', 'file'], 'propagate': True, # 是否让日志信息继续冒泡给其他的日志处理系统 }, } }
2、重写logging.py文件
import logging logger = logging.getLogger('django') #django是日志对象中的名字