1. 程式人生 > 實用技巧 >七、DRF中的router路由及loggin模組

七、DRF中的router路由及loggin模組

建立SimpleRouter路由物件 # router = routers.SimpleRouter() # 使用DefaultRouter,會自動建立根路由頁面 router = routers.DefaultRouter() 註冊路由 # 第一個引數為路由字首(支援正則),一般新增為應用名即可 # 第二個引數為檢視集類(只有繼承ViewSet才能支援router) # 第三個引數指定url別名字首,一般不需要指定
router.register(r'projects', views.ProjectViewSet, basename="bs")
# 將url新增到urlpatterns中,因為urlpatterns和router.urls都是列表,可以相加
urlpatterns += router.urls。

日誌模組 在檔案中匯入loggin模組,然後建立logging = logging.getLogger("test")日誌器物件,test為日誌器的名稱
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', # 日誌器接收的最低日誌級別 }, } }