跳到主要內容

發表文章

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

[Django教學7]善用Django ModelForm快速開發CRUD應用程式教學

Photo by Daniel Fazio on Unsplash 在現今許多網站中,多數都會有使用到表單的時候,舉例來說,在註冊會員時,就是使用表單的方式來填寫基本資料,進而儲存會員資料至資料庫中。 Django 網站框架,提供了許多表單的開發方式,其中最常使用的為 ModelForm (資料模型表單),顧名思義,就是利用規劃資料庫時,所建立的資料模型類別 (Model) ,來開發表單,能夠快速建置基本的 CRUD(Create-Read-Update-Delete) 表單應用程式。 本文將實際開發基本的記帳網站,來說明 Django ModelForm 的開發方式,其中的重點包含: Django ModelForm 建置 Django ModelForm 初始化 Django ModelForm 新增資料操作 Django Url Reference 網址參考 Django ModelForm 修改資料操作 Django ModelForm 刪除資料操作 一、 Django ModelForm 建置 在開發 Django 網站的 ModelForm (資料模型表單)前,需事先建立網站的資料模型 (Model) ,其中的建立方式可以參考 Django Migration (資料遷移)的重要觀念 文章。 而本文所要建置的記帳網站資料模型 (models.py) ,如下範例: from django.db import models class Expense(models.Model): name = models.CharField(max_length=255) #花費項目 price = models.IntegerField() #金額 Django ModelForm (資料模型表單) 就是依據 models.py 中的資料模型類別,來建立網站表單。首先,在 Django 的應用程式 (APP) 下新增一個 forms.py 檔案,如下圖: 接著,在 forms.py 檔案中自定類別,繼承自 ModelForm 類別,並且在其中設定表單所要綁定的資料模型名稱,如下範例: from django import forms from .models import Expe

[Django教學6]Django Template(樣板)整合Bootstrap實戰教學

Photo by Hal Gatewood on Unsplash 在 Django Template (樣板)開發快速上手 文章中,介紹了基本的 Django Template (樣板)開發,接下來,本文將教大家如何整合 Bootstrap 框架至 Django 專案中,讓 Template (樣板)畫面看起來更加精緻。 另外,本文在 Django Template (樣板)中,所要展示的資料內容,使用 PIXNET 痞客幫的 Open Data API ,來顯示國內旅遊的部落格文章。主要的重點包含: PIXNET Open Data API Django Base Template (共用樣板) Bootstrap 一、 PIXNET Open Data API PIXNET 痞客邦為一個部落格類型的網站,其中包含了許多知名部落客所撰寫的經典文章,像是美食、旅遊、親子及美妝等,所以本文將以 PIXNET 痞客幫所提供的 Open Data API ,存取文章相關資訊至 Django 專案的 Template (樣板)中。 而 PIXNET 痞客幫的官方 API 文件 首頁,如下圖所示: 如果想要存取 PIXNET 痞客幫的 API ,需進行應用程式的申請,而本文所要使用的資料為 Open Data (開放資料) ,所以無需進行申請的動作,位於上方導覽列,如下圖: 進入 Open Data (開放資料)的說明頁面後,可以看到使用的方式及相關規定,而其中有本文所要使用的「文章分類」開放資料 API 文件連結 ,如下圖: 點擊後,即可看到「文章分類開放資料 API 」的使用方式及範例,擷取部分畫面如下圖: 由於 Python 呼叫 API 需使用 requests 套件 (Package) ,所以,需事先利用以下指令進行安裝: pip install requests 完成後,開啟 Django 專案應用程式 (APP) 下的 views.py 檔案,引用 requests 套件 (Package) ,利用 get 方法 (Method) 呼叫 「文章分類開放資料 API 」,並且指定類別 ID ,最後將取得的文章物件傳送至應用程式 (

[Django教學5]Django Template(樣板)開發快速上手

Photo by Nick Adams on Unsplash 在學會 Django Administration 操作及客製化技巧 後,各位可以透過管理介面,新增幾筆「景點位置」及 「景點貼文」資料,本文將介紹透過 Django 所提供的資料庫抽像介面 (Database Abstraction API) ,查詢資料庫中的景點貼文資料,並且利用 Django Template (樣板)來進行顯示,主要的重點包含: Django 資料庫抽象 API -查詢 Django Template (樣板) Django Template (樣板) 語法 一、 Django 資料庫抽象 API -查詢 在 Django Migration (資料遷移)的重要觀念 文章中,建立了 Django 專案的應用程式 (APP) 資料模型,如下: from django.db import models from django.utils import timezone # 景點位置 class Location(models.Model): name = models.CharField(max_length=255) #位置名稱 #景點貼文 class Post(models.Model): subject = models.CharField(max_length=255) #標題 content = models.CharField(max_length=255) #內容 author = models.CharField(max_length=20) #貼文者 create_date = models.DateField(default=timezone.now) #貼文時間 location = models.ForeignKey(Location, on_delete=models.CASCADE) #景點位置 範例中的資料模型皆繼承自 Model 類別,這也意味著,可以透過其中所提供的資料庫抽象 API ,來進行資料的新增、修改、刪除及查詢,本文將介紹查詢 API 的基本用法,而其餘的操作待後續依網站的功能來進行介紹。 開啟應用程式 (APP) 下的 views.py

[Django教學4]實用的Django Administration操作及客製化技巧

Photo by Tim Arterbury on Unsplash Django Administration (管理員後台)是在建立 Django 專案時,預設提供的功能,在上面除了能夠進行基本的使用者集群組管理外,也可以在上面彈性的加入自己 Django 專案的資料模型 (Model) ,來擁有屬於這個專案的後台,就算不使用 Django 預設的 SQLite 資料庫,而使用其它的資料庫,同樣可以使用,無須自己從頭開發,相當的強大。 本文將分享 Django Administration (管理員後台)的操作介面,以及說明如何透 過 Django 專案中的 admin.py 檔案,來進行介面的客製化,重點包含: Django Administration 操作 Django admin.py 檔案 Django Administration 客製化資料表顯示欄位 Django Administration 客製化資料表單欄位 一、 Django Administration 操作 要使用 Django 專案的 Administration (管理員後台),首先,需註冊一個超級使用者 (SuperUser) 的帳號密碼,開啟 Visual Studio Code 的 Terminal 視窗,輸入以下指令: python manage.py createsuperuser 執行結果 從執行結果可以看到,執行指令後,會逐步的設定管理者帳號、電子郵件及密碼,完成後,利用以下指令啟動本地端伺服器: python manage.py runserver 執行結果 接著開啟瀏覽器,輸入執行結果的網址,並且加上 /admin ,即可看到 Django Administration (管理員後台)的登入畫面,如下圖: 輸入剛剛所建立的超級使用者 (SuperUser) 帳號密碼後,可以看到 Django 專案中的使用者 (Users) 及群組 (Groups) 資料模型,如下圖: 以使用者 (Users) 資料模型為例,點擊 Users 後,可以看到其資料表,並且提供了查詢、新增、篩選及排序等操作,來管理 Django 專案的使用者,如下圖: