1. 程式人生 > >(轉)Django學習之 第二章:Django快速上手

(轉)Django學習之 第二章:Django快速上手

nbsp ida IT 介紹 你在 django edi nal python代碼

安裝Python

安裝Django非常容易。因為Django可以運行在任何可以運行Python的環境中,所以可以以多種方式進行配置。
在本章我們將嘗試覆蓋幾種常見的Django安裝場景。


Django是以100%純Python代碼寫就,所以你需要安裝Python,Django要求安裝Python或更高版本。
如果你使用Linux或者MacOSX,你可能已經安裝了Python
在命令行或者終端下輸入“python”,如果出現類似如下提示,表示Python已經安裝好了:

Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)]
on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

否則,出現錯誤提示“command not found”

你可以到http://www.python.org/download/下載Python安裝

安裝Django
安裝官方發布版本的Django
到http://www.djangoproject.com/download/下載tarball的Django-*.tar.gz
tar xzvf Django-*.tar.gz
cd Django-*
sudo python setup.py install

Windows下安裝則是直接解壓Django-*.tar.gz並運行python setup.py install
安裝完以後,在Python交互環境下應該可以import django模塊

>>> import django
>>> django.VERSION
(2, 0, 3, ‘final‘, 0)

Python交互環境是一個命令行程序,在命令行下運行“python”即可進入交互環境
在這本書裏,我們將會演示一些Python代碼例子,這些例子看起來像是在交互環境裏面輸入的。
Python交互環境的提示符是三個大於號(>>>)

從Subversion安裝Django
如果你想安裝Django最新代碼或者你想向Django貢獻代碼,你應該從Django的Subversion repository安裝
Subversion是一個與CVS類似的開源版本控制系統,Django團隊使用它來管理Django代碼的變化。
你可以隨時使用Subversion客戶端獲取最新的Django源代碼,或者更新你本機Subversion工作拷貝"local checkout"中的
Django代碼來獲得Django開發人員所作的最新修改和增強。
最新的Django開發代碼稱為“the trunk”
得到最新的Django trunk:
1,確認你安裝了Subversion客戶端,下載地址為http://subversion.tigris.org
Subverion的文檔http://svnbook.redbean.com
2,運行如下命令得到trunk“svn co http://code.djangoproject.com/svn/django/trunk django_src”
3,符號鏈接django_src/django來讓django在你的Python site-packages目錄下,或者更新PYTHONPATH指定它
從Subversion安裝不需要運行“python setup.py install”
Django trunk經常更新bug fixs和增加feature,你可能要頻繁更新它
在django_src目錄下運行“svn update”即可更新代碼

建立數據庫
Django僅有的先決條件就是安裝Python,但是本書關註Django引以為傲的眾多優點之一,開發支持數據庫的Web站點
所以你需要安裝一個數據庫服務器來存儲數據
如果你只是想淺嘗輒止,可以跳過這一步直接開始一個項目,可是請相信我們:你最終還是會裝一個數據庫,因為本書的
所有例子都假設你已經擁有一個數據庫
Django1.0支持5個數據庫引擎:
PostgreSQL(http://www.postgresql.org/)
SQLite 3(http://www.sqlite.org/)
MySQL(http://www.mysql.com/)
Microsoft SQL Server(http://www.microsoft.com/sql/)
Oracle(http://www.oracle.com/database/)
我們自己特別喜歡PostgreSQL,所以我們最先提到它
盡管如此,所有的這些數據庫都在Django上工作得都很好
SQLite也值得特別註意,它是一個非常簡單的數據庫引擎,不需要任何服務器安裝和配置
如果你只是想玩玩Django的話,SQLite是最容易安裝的

使用PostgrSQL來和Django工作
如果你用PostgreSQL,你需要psycopg包,從http://initd.org/projects/psycopg1可以得到
確認你使用版本1而不是版本2,2還是beta版
如果你在Windows上使用PostgreSQL,可以從如下地址下載已經編譯好的二進制psycopg
http://stickpeople.com/projects/python/win-psycopg/

使用SQLite 3來和Django工作
你需要SQLite 3而不是SQLite 2,從http://initd.org/tracker/pysqlite下載pysqlite
確認下載pysqlite的版本為2.0.3及以上

使用MySQL來和Django工作
Django需要MySQL版本4.0及以上,3.x版本不支持事務、嵌套存儲過程以及其它標準SQL語句
你也需要MySQLdb包,下載地址http://sourceforge.net/projects/mysql-python

使用MSSQL來和Django工作

使用Oracle來和Django工作

不使用數據庫來和Django工作
就像剛剛提到的,Django實際上不需要數據庫
如果你僅僅希望Django來提供動態網頁而不觸及數據庫也是可以的
和Django綁定的一些額外的工具需要數據庫,如果你選擇不使用數據庫,你會錯失那些特性

開始一個項目
如果這是你第一次使用Django,你必須註意一些初始化過程
運行“django-admin.py startproject mysite”將會在你的當前目錄下創建一個mysite目錄
註意,如果你使用setup.py安裝Django,django-admin.py應該在你的PATH系統變量下
如果不在PATH裏面,你可以從site-packages/django/bin找到它
考慮符號鏈接它到你的PATH裏面,例如/usr/local/bin
一個項目就是一個Django實例的設置的集合,包括數據庫配置、Django的專有設置以及應用程序專有設置
讓我們看看startproject創建了什麽:
/mysite/
  __init__.py
  manage.py
  settings.py
  urls.py
這些文件的說明如下:
manage.py
一個命令行工具,可以讓你以多種方式與Django項目交互
setting.py
Django項目的配置
urls.py
Django項目的URL定義
如果你使用PHP,你可能習慣於將代碼放在Web服務器的document root下,如/var/www
使用Django的話不要這樣做,將Python代碼放在document root下不是一個好主意
因為這樣的話人們可能從Web看到你的代碼,這並不安全
把你的代碼放在document root以外的目錄,如/home/mycode

開發用服務器
切換到mysite目錄,運行“python manage.py runserver”,你將看到如下信息
Validating models...
0 errors found.
Django version 1.0, using settings ‘mysite.settings‘
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
這樣你就啟動了Django開發用服務器,這是一個包含在Django中的開發階段使用的輕量級Web服務器
我們在Django中包含了這個服務器是為了快速開發,這樣在產品投入應用之前,就可以不用處理生產環境中
web server的配置工作了。
這個服務器查看你的代碼,如果有改動,它自動reload,讓你不需重啟快速修改你的項目
雖然這個開發用服務器對於開發來說簡直棒透了,還是請克制一下把它用在任何形式的生產環境中的沖動。
這個服務器一次只能可靠地處理一個請求,而且根本沒有經過任何安全性的檢驗
如果你的站點需要上線,請參考第21章的關於部署Django程序的介紹
默認情況下runserver命令啟動服務器的端口為8000,只監聽本地連接
如果你希望改變端口,增加一個命令行參數即可
python manage.py runserver 8080
你也可以改變服務器監聽的IP地址,當你同其它開發者分享一個開發站點時很有用
python manage.py runserver 0.0.0.0:8080
上面的命令使得Django監聽任何網絡接口,這樣的話就允許其它計算機連接該服務器
試著訪問http://127.0.0.1:8000/,你將會看到“Welcome to Django”的頁面

下一步是什麽?
我們已經安裝好一切的東西並且讓服務器運行了,讓我們寫一點基本代碼來展示怎樣使用Django提供動態頁面

(轉)Django學習之 第二章:Django快速上手