昨天跟大家介紹完middleware之後,大家應該都比較了解他的功用了吧!(應該有吧...
那既然大家都大概了解它的功能的話,那我們今天來試著實作一個屬於自己簡單的middleware吧!
今天我們的第一步要先在外部Test的地方先創建一個叫做middleware的資料夾,然後在裡面再創建一個叫做middleware.py的檔案,這個檔案裡要寫下我們要執行的程式內容。
下一步我們打開 middleware.py,之後在裡面輸入以下這些內容,創建一個叫做SimpleMiddleware的class:
from django.utils.deprecation import MiddlewareMixin
import logging
logger = logging.getLogger(__name__)
class SimpleMiddleware(MiddlewareMixin):
def __init__(self, get_response):
self.get_response = get_response
logger.warning('---- One-time configuration and initialization. ----')
# One-time configuration and initialization.
def __call__(self, request):
# Code to be executed for each request before
# the view (and later middleware) are called.
logger.warning('---- 1 ----')
response = self.get_response(request)
logger.warning('---- 4 ----')
# Code to be executed for each request/response after
# the view is called.
return response
這幾行輸入完儲存後,記得要到setting的MIDDLEWARE裡激活,這樣你寫的程式才有辦法被偵測到喔!
激活完了之後,我們再重開伺服器一次就會發現:
我們的第一行已經跑出來了,之後再到http://127.0.0.1:8000/test/welcome/ 看看。
1和4跑出來就代表你的middleware已成功生效了!
做到這步後,今天就差不多到這邊了,如果各位對middleware想有進一步的了解,可以看看這位作者的文章,裡面介紹的相當詳細!
那我們今天就先到這邊吧!明天再跟各位介紹更多不一樣的方式!
大家掰掰~