想學 Python/Django? 就從 Mozilla 網站專案開始吧!
六月的時候 Askeing 大大介紹了 Python 開發好幫手 – virtualenv ,如果你剛好是 Python/Django 的新手,能照著 Askeing 的解說順利地完成 virtualenv 安裝使用,那麼這篇文章可以給你一個自己學習建立 Django 專案的起點。
為什麼要學 Python?
如果你還不知道 Python/Django 是什麼,為何要用它?這裡簡略的告訴你幾個原因:
-
強調美感的語言哲學
翻開 PEP 20 – The Zen of Python 就能一覽 Python 語言的最高指導原則,很明顯地可以發現 Python 是一個非常注重可讀性的語言。這樣的特性讓 Python 獨樹格成為一種易學易用且容易維護的程式語言。
-
豐富的套件支援以及廣泛的應用範圍
除了 Web 以外, Python 也被廣泛的應用在桌面應用、系統管理、資料分析處理等領域 。從 Python 官網的套件索引 (PyPI) 中可以找到各式符合需求的函式庫或工具,在 DjangoPackages 網站上也可以看到完整的 Django 套件分類和評比。且這些套件都可透過套件管理工具方便快速地安裝。
-
活躍的社群支援
Python 在 Github 上排名第五,且從 Ohloh 的統計來看,Python 的每月貢獻者數已經逼近 C 和 Java。
我想學!可是要怎麼開始呢?
假設你已經瞭解 Python 之美,你可以研究看看 Mozilla 的網站專案。幾乎大部分你所熟知的 Mozilla 網站,如美國官網、Firefox Marketplace、Mozilla 技術支援 (SUMO)、Mozilla 開發者網路 (MDN)等等,都是由 Python/Django 技術開發,而且都是開放原始碼喔!
如果你已經等不及想要從頭開始建立一個網站專案,Mozilla 提供了一個速成網站應用範本 Playdoh (取名自玩具黏土培樂多)。Playdoh 基本是建立在 Django 上,引用加入了多種網站應用所需的元素,面向包含了網站安全性、擴充性、多國語言支援、測試架構等等。詳細的內容可以參考文件中的特色說明和函式庫說明。
建立你的 Playdoh 網站專案吧!
只要照著以下的入門說明的步驟即可建立你的第一個 Playdoh 專案。
在開始下列步驟前請先確認你的電腦裡已經安裝了 Python 2.6 或 2.7 、 MySQL 、 git 、以及上次 Askeing 介紹的 virtualenv ,且是在類Unix的環境下運作。
Playdoh 有趣的地方就在 funfactory 模組,當你透過 PyPi 或原始碼安裝完成後,你就可以運用 funfactory 的命令列指令來建立一個 Playdoh 專案。
你可以用套件管理工具 pip 來安裝 funfactory :
pip install funfactory
現在你已經有 Playdoh 的安裝指令了,你可以用 funfactory -h
指令查閱詳細說明,或者直接下指令來自動安裝建立一個 Playdoh 專案:
funfactory --python=python2.6 --pkg=你的專案名稱
上述的指令自動安裝建立專案的過程如下:
- 下載複製 Playdoh 專案原始碼
- 在
你的專案名稱
目錄下建立你的專案檔案結構 - 建立一個名稱和
你的專案名稱
相同的 virtualenv - 安裝/編譯所有相關套件模組
- 建立設定檔
你的專案名稱/settings/local.py
並填入預設設定資料
環境設定
funfactory 安裝程式預設使用的資料庫名稱為 playdoh_app
。你必須手動建立此資料庫:
mysql -u root -e 'create database playdoh_app;'
如果你需要調整任何的資料庫連線資訊,請編輯你的專案名稱/settings/local.py
,並執行以下指令以建立資料表和初始資料:
./manage.py syncdb
啟動開發用服務器:
./manage.py runserver 0.0.0.0:8000
現在你可以透過本機網址連線到專案的網頁了: http://localhost:8000/ – 喔耶!
最新及最完整的安裝文件以及使用說明請參考原文 Playdoh – playdoh 1.0 documentation 。
寫 Python 會不會很孤獨?
閉門造車總是會有盲點,如果你還不知道自己要做什麼,或者不想要一個人孤單地寫 Code ,建議你可以先從貢獻 Mozilla 網站專案開始,練練身手,看看大型網站中都用了什麼樣的技術架構和開發規範,也看看有經驗的人是如何開發的,從中汲取寶貴經驗。
或者你也可以多多參加社群活動:
就讓 Mozilla 和我們一起,踏上 Python 開發之路吧!