跳到主要內容

發表文章

目前顯示的是 四月, 2020的文章

[Django教學14]解析5個常用的Django Class-based Views使用方式

Photo by Austin Distel on Unsplash 在一般的 Django 專案開發,可以看到 Django 應用程式 (APP) 下的 views.py 檔案中,依照功能的需求撰寫了許多的檢視函式 (View Function) ,這種寫法就稱為函式導向的檢視 (Function-based Views) ,雖然較為直覺,但是隨著 Django 專案的規模越來越大,這樣的寫法就像是在 Python 專案中寫了許多的函式 (Function) 一樣,對於未來的維護及擴充性,較不理想。 所以,這時候就會使用 Python 物件導向 (OOP) 的概念,將許多的函式 (Function) 模組化為類別 (Class) 及方法 (Method) ,來提高程式碼的重用性及維護性。 Django 也是相同的道理,它提供了許多內建的檢視類別,讓開發人員能夠藉由覆寫 (Overriding) 的方式 ,將函式導向的檢視 (Function-based Views) ,封裝成類別導向的檢視 ( Class-based Views ) ,不但具有物件導向 (OOP) 的優點外, Django 在背後也幫我們做了許多的事情,讓程式碼的寫法能夠更加簡潔。 因此,本文將利用 5 個常用的Django檢視類別 ,來實作待辦清單 (To Do List) 網站,藉此 與函式導向的檢視 (Function-based Views) 寫法作 比較 ,重點包含: 前置作業 Django ListView ( 清單檢視類別 ) Django CreateView ( 新增檢視類別 ) Django UpdateView ( 修改檢視類別 ) Django DeleteView ( 刪除檢視類別 ) Django DetailView ( 內容檢視類別 ) 一、前置作業 在進行今天的實作前,先來說明一下本文所使用的待辦清單 (To Do List ) 資料模型,如下範例: from django.db import models from django.utils import timezone class Todo(models.Model): title = models.CharField(max_length=100)

[Django教學13]Django Allauth套件整合Google登入驗證實作教學

Photo by NordWood Themes on Unsplash 現在有些網站或平台,登入時會提供額外的第三方登入驗證方式, 像是 Facebook、Google 及 Twitter 等, 讓使用者能夠省去註冊新帳號的動作,以提升使用體驗及效率。 而利用 Python 的 Django 框架來建置網站,想要提供使用者這樣的服務,除了可以透過第三方應用程式所提供的 API ,自行實作所有的串接外, Django allauth 套件是一個非常受歡迎且 整合了許多知名的第三方登入驗證功能,只要進行基本的設定,就能夠讓開發人員 快速與社群帳號的登入驗證進行 整合。 所以本文將以 [ Django 教學 8 ] Django UserCreationForm 實作網站登入驗證及註冊功能分享 文章中所實作的 Django 登入為基礎,示範如何利用 Django allauth 套件,加入 Google 的登入方式。其中的重點包含: 安裝 Django allauth套件 建立 Google 應用程式 Django 整合實作 一、安裝 Django allauth套件 Django allauth 套件支援 Python 3.5+ 及 Django 2.0+ ,詳細的參考文件 (Document) 可以前往 Django Package 官網的 django-allauth 。 首先,利用以下的指令來進行安裝: $ pip install django-allauth 安裝完成後,開啟 Django 專案的 settings.py ,在 INSTALL_APPS 中,加入 allauth 套件及所需的第三方登入驗證提供者 (provider) ,如下範例: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.s

[Django教學12]利用輕量的Django tastypie來打造屬於自己的API

Photo by Jan Piatkowski on Unsplash 現在,有許多的開發人員會使用許多的方式收集所需的資料,像是網頁爬蟲或網站平台,而擁有了這些有價值的資料後,有些時候會想要提供給大眾使用,進而創造出多元的應用,而最普遍就是透過 API(Application Programming Interface) 來提供服務。那該如何開發屬於自己的 API 服務呢? Django tastypie 套件,就是能夠讓開發人員使用 Python ,快速的建立 RESTful API ,非常簡潔且容易使用,所以本文將分享利用 Django tastypie 套件,來開發一個簡單的音樂歌曲清單 API ,藉此瞭解 Python 在 Django 框架中,建置 API 的實作過程,其中的重點包含: 簡介 RESTful API 什麼是 Django tastypie 安裝 Django tastypie 建立 API 資源 測試 API 建立 API 版本 設定 API 顯示欄位 限制 API 請求方法 一、簡介 RESTful API REST(Resource Representational State Transfer ) 是一個「軟體架構風格」,其中的核心概念是,將提供服務的一方稱為資源 (Resource) ,並且利用 HTTP 傳輸協定的動詞 (GET/POST/PUT/DELETE) 來進行操作,而符合這種軟體架構風格的 API ,就稱為 RESTful API ,也因此 RESTful API 可以透過 HTTP 動詞及 API 網址,可以很直覺的知道會進行什麼樣的操作,簡單舉例如下: 查詢電影資料 GET /movies 查詢電影資料 GET /movies/1 新增電影資料 POST /movies 修改電影資料 PUT /movies 刪除電影資料 DELETE /movies 二、什麼是 Django tastypie tastypie 是 Django 框架的套件,支援 Python3.4+ 及 Django3.0 ,讓開發人員可以快速的在 Django 框架中,利用 Python 來開發 RESTful API 。 前往 Django Packages ,這邊類似

[Django教學11]Django部署到Heroku雲端平台教學指南

Photo by Christin Hume on Unsplash 在網站開發完成後,不論是網路服務、作品集或網站,為了要讓全世界的使用者可以進行存取使用,就需要部署至雲端平台上,而本文所要分享的 Heroku ,就是一個非常受歡迎的免費雲端平台,可以用來運行網站或服務。 Heroku 支援多種程式語言,使用 Git 來進行部署,並且提供 Heroku CLI(Command Line Interface) ,來提升部署的效率。本文將示範在Windows作業系統上,部署Django網站到Heroku的過程,分為 Django 部署準備及部署步驟 兩個部份來進行說明,如下: 一、 Django 部署準備   1.註冊 Heroku 帳號   2.安裝 Heroku CLI   3.安裝 Git   4.安裝 gunicorn 套件   5.Django 靜態檔案設定   6.安裝 whitenoise 套件 二、 Django 部署步驟   1.登入 Heroku   2.建立 Heroku 應用程式   3.設定 Django  ALLOWED_HOSTS   4.建立 Git Repository   5.儲存 (commit) 程式碼至本地端硬碟 (Local Repository)   6.推送 至 Heroku Git Repository   7.設定 Heroku 主機數量   8.開啟網站 一、 Django 部署準備 1.註冊 Heroku 帳號 首先,前往 Heroku 官網 ,點擊「 SIGN UP FOR FREE 」按鈕,依照指示來註冊使用者帳號,如下圖: 2.安裝 Heroku CLI 有了 Heroku 的帳號後,接著前往 Heroku Dev Center ,來安裝 Heroku CLI(Command Line Interface) ,讓開發人員能夠 利用指令的方式,進行 Heroku 的各種操作,例如登入、建立應用程式及設定等,提升部署 Django 應用程式的效率。安裝的畫面如下: 選擇相應的作業系統,進行安裝即可。 3.安裝 Git Git 是一個分散式的版本控制系統,除了可以協助開發人員進行程式碼的版