七、DRF中的router路由及loggin模組
阿新 • • 發佈:2020-10-22
建立SimpleRouter路由物件
# router = routers.SimpleRouter()
# 使用DefaultRouter,會自動建立根路由頁面
router = routers.DefaultRouter()
註冊路由
# 第一個引數為路由字首(支援正則),一般新增為應用名即可
# 第二個引數為檢視集類(只有繼承ViewSet才能支援router)
# 第三個引數指定url別名字首,一般不需要指定
router.register(r'projects', views.ProjectViewSet, basename="bs") # 將url新增到urlpatterns中,因為urlpatterns和router.urls都是列表,可以相加日誌模組 在檔案中匯入loggin模組,然後建立logging = logging.getLogger("test")日誌器物件,test為日誌器的名稱urlpatterns += router.urls。
LOGGING = { # 當前日誌的版本號 'version': 1, # 是否禁用其他的日誌處理器,如果有其他日誌處理器時使用 'disable_existing_loggers': False, # 指定日誌的顯示格式 'formatters': { 'verbose': { # 詳細的日誌 'format': '%(asctime)s - [%(levelname)s] - %(name)s - [msg]%(message)s - [%(filename)s:%(lineno)d ]' }, 'simple': { # 簡化版的日誌 'format': '%(asctime)s - [%(levelname)s] - [msg]%(message)s' }, }, # 日誌過濾 'filters': { 'require_debug_true': { '()': 'django.utils.log.RequireDebugTrue', }, }, # 日誌的輸出渠道 'handlers': { 'console': { 'level': 'DEBUG', 'filters': ['require_debug_true'], 'class': 'logging.StreamHandler', # 在console中輸入簡化版的日誌 'formatter': 'simple' }, 'file': { 'level': 'INFO', 'class': 'logging.handlers.RotatingFileHandler', # 日誌檔案的位置 'filename': os.path.join(BASE_DIR, "logs/test.log"), # 日誌大小,超出會分割建立新的日誌檔案 'maxBytes': 100 * 1024 * 1024, # 最多10個日誌檔案 'backupCount': 10, #在檔案中儲存詳細版本的日誌 'formatter': 'verbose', 'encoding': 'utf-8' }, }, 'loggers': { 'test': { # 定義了一個名為test的日誌器 'handlers': ['console', 'file'], 'propagate': True, 'level': 'DEBUG', # 日誌器接收的最低日誌級別 }, } }