追蹤服務的主要功用是對應用程式或系統進行即時監控並取得詳細報告。它讓我們能夠監測到應用程式或系統實際的效能,並擷取到任何可能出現的問題,即使是在非常早期的階段,...
這篇主要介紹一些 Strawberry 內建提供的安全性相關的擴充功能,下面會示範幾個跟查詢有關的安全性擴充功能設定。 在 OWASP Cheat Sheet...
做完了端點,接下來會把功能部分完成。 BookDetailSerializer 這邊會新增一個BookDetailSerializer,在其中除了包含BookS...
前言 之前我們提到任務的 created_at 與 updated_at 兩個欄位因為產生欄位值的時間點有一點點誤差,導致兩個時間不一致的問題。今天讓我們用客製...
在使用物件關聯對應(Object-Relational Mapping, ORM)工具時,對於具有關聯的物件進行批次查詢時可能出現的效能問題,像是 N+1 查詢...
今天來製作 books API 端點! book app & book model 首先要先創建一個新的 app,到rest_api中輸入: pytho...
前言 昨天我們裝了 django-extensions 這個套件,為了是方便今天我們觀察 Query N+1 的問題,Query N+1 問題會造成 API 與...
Django Channels 是 Django 的一個擴充功能,主要用來處理即時通訊 (real-time communication) 的需要,像是廣播(b...
在繼續製作 API 端點前,先來介紹 DRF 中撰寫 API 的兩種風格,Viewsets 及 APIView。在 Django 中 view 的寫法有分 FB...
前言 前面我們有使用 Django 與 DRF 的一些基礎功能了,但其實有些功能上不是太方便,例如 Admin 系統的設定都要自己打,獲釋每次使用 Django...
接下來要實作的部分是更新 user 的 API 端點。 Update User API 進入 user/serializers.py,在UserSerializ...
Django 內建一套權限系統,主要提供 Django 應用程式的模型新增、修改、刪除、瀏覽權限管理,除此之外還有系統管理員、管理員與認證檢查,當然 Djang...
前言 昨天講了一個比較複雜的操作,今天我們來做一點點輕鬆的,順便當作複習前面的,今天要的是把分類相關的功能實作完成吧。 Serializer 首先是序列化讓我們...
strawberry_django 內建基於 Cookie 與 Session 的登入、登出的變更功能和取得當前使用者的查詢功能。 下面我們就試著加入這些功能:...
在繼續實作之前,想先介紹一個實用的知識,就是 HTTP 代碼,這面試很常出現 XD。在剛剛的 API 測試中,回應區可以看到許多 HTTP code,像是創建...
Relay 是一種使用 GraphQL 的規範,其名稱來自於由 Facebook 開發的 JavaScript 框架 Relay。這種規範規定了一些特定的慣用格...
前言 昨天我們已經模擬了幾個新增欄位的情境,今天我們要來模擬如何在欄位中加入不能指定一次性預設值的欄位吧! 今天我們要模擬的情境是,假設今天需要加入一個「分類」...
接下來的實作大多會是以創建 serializer -> 創建 view -> 增加 url 的流程進行,今天預計會把驗證功能做完,開始嘍。 驗證功能...
前言 前兩天我們學會了如何做篩選,今天讓我們來看看如何在已存在的 Model 中加上欄位吧!雖然前面已經有在 Task Model 中加上 is_finish...
在實作上傳檔案的功能之前,我們先幫文章模型加上封面圖片的欄位: # server/app/blog/models.py # ... 省略 class Post(...
在實作之前,先來介紹一下驗證 Authentication vs Authorization 在介紹前先與另一個相似字 Authorization(授權) 做一...
前面自定義的文章發布功能,仔細看回傳的型態,除了Post以外,還有OperationInfo,這是因為在input_mutation上面設定handle_dja...
前言 昨天我們說明了如何做了篩選,但其實只講了一部分,我們今天繼續來做跟篩選相關的吧! 使用 FilterSet 昨天我們都是直接在 ViewSet 中設定要篩...
今天來進行 user 端點的製作。 Create User API 以功能來說跟之前的專案很類似,差別只在於介面,除此之外,API 還會加上授權的功能。首先,先...
前言 昨天我們學了怎麼實作排序與搜尋,但搜尋是針對多了欄位進行模糊匹配。如果想要針對特定欄位的話就需要使用篩選(Filter) 安裝 Filter 套件 讓我們...
這篇我們就來實作 strawberry_django 的變更(Mutations)相關功能。 strawberry_django 內建模型新增(Ctreate)...
開始來做 API 吧! User model 這邊的 User model 跟上一個專案相同,所以可以參考之前的程式碼。 記得要加在 core/models....
前言 昨天我們學會怎麼做分頁了,今天我們要來學習怎麼在 API 實作搜尋與排序,方便使用者可以找到他想找到的資料。 排序 首先我們來做排序功能,讓我們打開 se...
在開始這篇的練習之前,可以先在 Django admin 的頁面上新增一些使用者、文章、留言、分類以及標籤。 以往想到 Django 篩選資料的套件,大部分第一...
在網路的世界裡傳遞資訊時所使用的資料格式有很多種,像是 JSON, XML, CSV files...等等。而本次 API 會用到的資料格式為 JSON。 JS...