嗨大家好,我是Sean!終於邁入雙位數的天數了!假日發的系列文,觀看次數總是會特別少QQ 今天我們來介紹關於Django使用起來,之所以方便的其中一個理由,ad...
嗨大家好,我是Sean!不知道大家跟從前的朋友還有多少聯絡呢?昨晚跟在美國工作的朋友敘舊,想想也覺得緣分很奇妙!聽過一句話這麼說: 不是朋友變少了,而是大家都...
前言 昨天我們為我們的 API 加上文件了,今天讓我們來實作分頁這個功能吧! 先說說什麼是分頁,分頁的意思是當使用者請求列表的 API 時,一次只給他一部份並讓...
前言 昨天我們裝了 django-extensions 這個套件,為了是方便今天我們觀察 Query N+1 的問題,Query N+1 問題會造成 API 與...
前言 昨天我們將 Model 定義好後下了兩個指令就將資料表建立出來,但背後 Django 到底幫我們做了什麼? 昨天最後我們下了兩個指令分別是 python...
一個 Django 專案可由一個或多個 app 組成,而 app 是提供特定功能或是功能性的模組單位,可以把 Django 想像成一間公司,而其中的每個不同部門...
在不考慮資料驗證、敏感數據暴露與限制流量(這個Day20會展開)的角度,單以身份認證與權限設計的角度來說,我們現在的API有幾個問題: 不需要進行登入,只要有...
前言 昨天我們已經將專案與周邊的工具都設定好了,現在我們來撰寫第一個 API 吧! DRF 安裝 什麼是 DRF 為什麼我要使用他? 在開始安裝之前我們先來說一...
嗨大家好,我是Sean!包含昨天,我們已經介紹完Django的MTV架構,也把三大將MTV各自介紹了一遍!那麼,今天我們來介紹可以與前面三大將配合的Form,也...
前言 前兩天我們學會了如何做篩選,今天讓我們來看看如何在已存在的 Model 中加上欄位吧!雖然前面已經有在 Task Model 中加上 is_finish...
嗨大家好,我是Sean!由於DRF的功能真的是很多且實用,我們再追加一篇獻給DRF的萬能(也幫前面漏講的東西補齊...) DRF你又回來了 我們先前有講到se...
我們已經了解到Django REST framework(DRF)中權限的設計,但是在確認用戶是否有對應的權限之前,對於用戶的認證(Authentication...
在上一篇文章中,我們探討了如何在Django項目中實現JWT認證系統,並介紹了使用者管理的方法。我們使用了JSON Web Token來驗證用戶身份,並通過AP...
前言 昨天我們已經利用了 Django 內建的權限系統,讓我們的 API 多了權限控管的功能。同時我們利用了內建的 Admin 系統測試我們建立好的帳號是否能正...
嗨大家好,我是Sean!接續昨天的view,我們今天要來講他的好朋友三大將之一:Template! 說到Template,我們也按照慣例帶大家複習一下,我們當初...
嗨大家好,我是Sean!昨天我們講到CRUD的R的延伸使用,今天我們就來把CRUD全部結束! Update update的前提是我們已經可以選出單一筆的資料。...
做完了基本的 CRUD 功能,接著就先介紹 Python 處理圖片的 library,以及介紹 Django 中處理此類檔案的方法。 pillow 讓 Pyth...
在上一篇技術教學文章中,我們已經介紹了如何在Django項目中整合MariaDB和Redis。MariaDB替代了預設的SQLite3數據庫,提供了更強大的數據...
在繼續製作 API 端點前,先來介紹 DRF 中撰寫 API 的兩種風格,Viewsets 及 APIView。在 Django 中 view 的寫法有分 FB...
前言 目前我們的任務列表沒有紀錄建立人,所以雖然要登入才能建立任務,但是無法區分是誰建立的,也無法限制大家只能調整自己的任務。今天我們要來做的事情就是要讓大家只...
在之前的文章中我們已經有深入探討序列化器的原理,而我們今天繼續深入探討序列化器本身 程式碼:https://github.com/class83108/drf_...
前言 昨天我們學了怎麼實作排序與搜尋,但搜尋是針對多了欄位進行模糊匹配。如果想要針對特定欄位的話就需要使用篩選(Filter) 安裝 Filter 套件 讓我們...
前言 前面我們已經寫了幾個 API 昨天我們也為了實現 JWT 的功能而使用了套件內的 ViewSet。目前為止我們還可以透過文件或是寫程式的記憶力去知道 AP...
嗨大家好,我是Sean。結束了昨天的Celery & Redis,我們的系列也就進入了尾聲。今天是鐵人賽的最後一天,想要來回顧一下我們的鐵人賽系列,以及...
前言 昨天我們透過 DRF 的 ViewSet 建立了第一個 API,也說明了序列化在 API 中扮演的角色,但我們跳過了一個部分也就是在設定 queryset...
在繼續實作之前,想先介紹一個實用的知識,就是 HTTP 代碼,這面試很常出現 XD。在剛剛的 API 測試中,回應區可以看到許多 HTTP code,像是創建...
當初會參加鐵人賽是因為朋友的邀請,雖然剛開賽我就後悔了,因為沒有庫存每天日更的生活實在是太辛苦了,沒想到我居然完賽了,真的是連我自己都驚訝。在更新的過程中還有一...
接下來的實作大多會是以創建 serializer -> 創建 view -> 增加 url 的流程進行,今天預計會把驗證功能做完,開始嘍。 驗證功能...
前言 昨天我們已經學習了如何客製化 Serializer 來調整回傳給前端與前端傳入的格式了,今天讓我們來學習如何調整 ViewSet,讓他使用不同的序列化吧!...
在 Django 專案創建時,會自動生成一個管理員後台系統,在裡面可以用上帝視角進行任何更動,是一個很方便的功能。那麼要如何進入呢? 創建 superuser...