在windows中配置pip安装源, 使用终端管理python虚拟环境, 自定义django的日志配置, 使用logging模块记录异常信息, 数据库用户及权限管理

Posted 收到

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在windows中配置pip安装源, 使用终端管理python虚拟环境, 自定义django的日志配置, 使用logging模块记录异常信息, 数据库用户及权限管理相关的知识,希望对你有一定的参考价值。

在windows中配置pip安装源

作用域包括pycharm和cmd

  1. control + n --> %appdata% --> 新建 C:Users40645AppDataRoamingpip 文件夹 --> 新建 C:Users40645AppDataRoamingpip 文件

  2. 将以下内容复制到 C:Users40645AppDataRoamingpip 文件中

    ‘‘‘
    [global]
    index-url = http://pypi.douban.com/simple
    [install]
    use-mirrors =true
    mirrors =http://pypi.douban.com/simple/
    trusted-host =pypi.douban.com
    ‘‘‘
    

使用终端管理python虚拟环境

  1. 安装虚拟环境管理模块: pip install virtualenvwrapper-win
  2. 在windows环境变量中配置虚拟环境存放的目录, 环境变量名: WORKON_HOME, 环境变量值: 虚拟环境存放的文件夹路径
‘‘‘
1. 创建新的虚拟环境:
		mkvirtualenv -p python3.6 虚拟环境名  # 创建python3.6的虚拟环境
2. 查看所有虚拟环境:
		workon
3. 使用虚拟环境:
		workon 虚拟环境名
4. 退出虚拟环境:
		deactivate
5. 删除虚拟环境
		rmvirtualenv 虚拟环境名
6. 安装django2.0.7
		pip install django==2.0.7
‘‘‘

构建路飞学城后端项目目录

"""
...luffyapi

	...luffyapilogs											# 项目开发时和上线后的日志 - 文件夹
	
    ...luffyapiluffyapi      									# 项目核心代码 - 包
    	...luffyapiluffyapiapps      						# 项目的所有应用 - 包
        ...luffyapiluffyapilibs      						# 第三方组件 - 包
    	...luffyapiluffyapisettings  						# 项目的配置 - 包
			...luffyapiluffyapisettingsdev_settings.py		# 项目开发时的配置文件
			...luffyapiluffyapisettingsprod_settings.py		# 项目上线时的配置文件
		...luffyapiluffyapiutils     						# 自定义的公共组件 - 包
		...luffyapiluffyapiurls.py   						# 总路由文件
		...luffyapiwsgi.py									# wsgi网关服务文件
		
    ...luffyapiscripts       									# 项目开发时的测试脚本 - 文件夹
    
    ...luffyapidev_manage.py									# 项目开发时的启动文件
    ...luffyapiprod_manage.py                                 # 项目上线时的启动文件
"""

修改BASE_DIR并将 ...luffyapiluffyapiapps 添加到环境变量中

‘‘‘
# ...luffyapiluffyapisettingsdev_settings.py
import os
import sys

BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(os.path.join(BASE_DIR, ‘luffyapi‘, ‘apps‘))
‘‘‘

自定义django的日志配置

‘‘‘
# ...luffyapiluffyapisettingsdev_settings.py
...
ALLOWED_HOSTS = []  # 设置允许访问的IP地址
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‘: {
            ‘level‘: ‘DEBUG‘,  # 日志打印级别
            ‘filters‘: [‘require_debug_true‘],
            ‘class‘: ‘logging.StreamHandler‘,
            ‘formatter‘: ‘simple‘
        },
        ‘file‘: {
            ‘level‘: ‘INFO‘,  # 日志记录级别
            ‘class‘: ‘logging.handlers.RotatingFileHandler‘,
            ‘filename‘: os.path.join(BASE_DIR, "logs", "luffy.log"),  # 设置日志记录的位置
            ‘maxBytes‘: 300 * 1024 * 1024,  # 设置单个日志文件最大为300M
            ‘backupCount‘: 10,  # 设置日志文件数量最多为10个
            ‘formatter‘: ‘verbose‘,  # 记录到文件中的日志设置为详细格式
            ‘encoding‘: ‘utf-8‘  # 编码格式
        },
    },
    ‘loggers‘: {
        ‘django‘: {
            ‘handlers‘: [‘console‘, ‘file‘], 
            ‘propagate‘: True,  # 允许日志传播
        },
    }
}
‘‘‘

使用logging模块记录异常信息

‘‘‘
# ...luffyapiluffyapiutilsmy_logging.py
import logging

logger = logging.getLogger(‘django‘)  # 单例模式


# ...luffyapiluffyapiutilsmy_exceptions.py
...
from .my_logging import logger


def exception_handler(exc, context):
    ...
    logger.critical(response.data.get(‘detail‘))
    ...
    return response
    

# ...luffyapiluffyapisettingsdev_settings.py
...
REST_FRAMEWORK = {
    ‘EXCEPTION_HANDLER‘: ‘luffyapi.utils.my_exceptions.exception_handler‘
}
‘‘‘

数据库用户及权限管理

  1. 登录root用户,

  2. 查看数据库中的所有用户的信息: select user, host, authentication_string from mysql.user;

  3. 创建新的普通用户并设置权限:

    • grant 权限(create, update) on 库名.表名 to ‘账号‘@‘ip地址‘ identified by ‘密码‘;

    • grant all privileges on luffy.* to ‘cql‘@‘%‘ identified by ‘Cql123456‘; : * 表示luffy数据库中的所有表, % 表示所有ip地址都能访问数据库

  4. 刷新权限: flush privileges;

以上是关于在windows中配置pip安装源, 使用终端管理python虚拟环境, 自定义django的日志配置, 使用logging模块记录异常信息, 数据库用户及权限管理的主要内容,如果未能解决你的问题,请参考以下文章

pip 安装源

pip 常用镜像源及永久配置镜像源

windows下修改pip安装源的办法

Deepin 20配置RIDE环境

pip windows更换国内源

爬虫4