iT邦幫忙

2021 iThome 鐵人賽

DAY 24
0

昨天跟大家介紹完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想有進一步的了解,可以看看這位作者的文章,裡面介紹的相當詳細!

那我們今天就先到這邊吧!明天再跟各位介紹更多不一樣的方式!
大家掰掰~


上一篇
Day23 探討MiddleWare
下一篇
Day25 實作MiddleWare(2)
系列文
菜雞從零開始學習Django的成長日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言