在Django使用Logging製作紀錄檔

Logging是作為backend server必備的工具,透過log file,你可以知道程式執行了甚麼。如果你的server有unexpected error發生,最好的做法就是到server查看log file,找出發生甚麼事。

這篇就紀錄在Django設置logging的種種細節吧。

Read more   2018/06/08 posted in  Django

在Django建立定時執行的Cron jobs(工作排程)

有時候我們需要server定時做某些東西,例如每天凌晨計算一天的營業額。

一般Web Server只會在收到請求時作出相應行動,所以最簡單做法,就是開一個Admin endpoint,人手「激活」server去做某些事。

這當然很蠢啊。

這時候我們可以用Linux上的crontab去讓他「自動」、「定時」執行某些工作。

Read more   2018/06/08 posted in  Django

Django Unit Testing - Part 2 Mocking

Mocking(模仿)對Testing十分重要,它可以取代本來system會做的某些功能,通常用於:

  1. Network Request(太費時了)
  2. 一些複雜的Dependencies(避免需要準備太多東西/不想被其他module影響到)
  3. 修改當前時間(尤其是依賴datetime.now()的function)
Read more   2018/06/04 posted in  Django

Django Unit Testing - Part 1 Basics

Testing是寫出好Software的必備條件。它可以讓你推出新功能時有足夠信心你的system可以正常運作,不用人手到處test,也可以及早發現bug,等等等等。

這篇就先看看在Django如何建立基本的test。

Read more   2018/06/04 posted in  Django

Django Admin Libraries彙總筆記

紀錄一些擴充、改進django admin的open source libraries。

Read more   2018/05/28 posted in  Django

在Django裡處理One-To-Many Relation

建立Relational Database的時候常常會用到One-To-Many Relation,一般都是以Foreign Key的形式儲存。

Django功能十分齊全,但它的model inheritance設計令所有功能都非常"implicit",一些功能如果不知道要到哪裡define的話根本無從入手。
所以這篇就來紀錄一下如何用Django的ORM處理One-To-Many的Model吧

Read more   2018/03/18 posted in  Django