1. 程式人生 > 實用技巧 >測試專案配置

測試專案配置

一、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\電腦使用者\AppData\Roaming 資料夾中
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是日誌物件中的名字