在本章我們將嘗試覆蓋幾種常見的Django安裝場景。
安裝Python
Django是以100%純Python代碼寫就,所以你需要安裝Python,Django要求安裝Python2.3或更高版本。
如果你使用Linux或者M(jìn)acOSX,你可能已經(jīng)安裝了Python
在命令行或者終端下輸入“python”,如果出現(xiàn)類似如下提示,表示Python已經(jīng)安裝好了:
Python 2.4.1 (#2, Mar 31 2005, 00:05:10)
[GCC 3.3 20030304 (Apple Computer, Inc. build 1666)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
否則,出現(xiàn)錯誤提示“command not found”
你可以到http://www.python.org/download/下載Python安裝
安裝Django
安裝官方發(fā)布版本的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交互環(huán)境下應(yīng)該可以import django模塊
- >>> import django
- >>> django.VERSION
- (1, 0, 'official')
Python交互環(huán)境是一個命令行程序,在命令行下運行“python”即可進(jìn)入交互環(huán)境
在這本書里,我們將會演示一些Python代碼例子,這些例子看起來像是在交互環(huán)境里面輸入的。
Python交互環(huán)境的提示符是三個大于號(>>>)
從Subversion安裝Django
如果你想安裝Django最新代碼或者你想向Django貢獻(xiàn)代碼,你應(yīng)該從Django的Subversion repository安裝
Subversion是一個與CVS類似的開源版本控制系統(tǒng),Django團隊使用它來管理Django代碼的變化。
你可以隨時使用Subversion客戶端獲取最新的Django源代碼,或者更新你本機Subversion工作拷貝"local checkout"中的
Django代碼來獲得Django開發(fā)人員所作的最新修改和增強。
最新的Django開發(fā)代碼稱為“the trunk”
得到最新的Django trunk:
1,確認(rèn)你安裝了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經(jīng)常更新bug fixs和增加feature,你可能要頻繁更新它
在django_src目錄下運行“svn update”即可更新代碼
建立數(shù)據(jù)庫
Django僅有的先決條件就是安裝Python,但是本書關(guān)注Django引以為傲的眾多優(yōu)點之一,開發(fā)支持?jǐn)?shù)據(jù)庫的Web站點
所以你需要安裝一個數(shù)據(jù)庫服務(wù)器來存儲數(shù)據(jù)
如果你只是想淺嘗輒止,可以跳過這一步直接開始一個項目,可是請相信我們:你最終還是會裝一個數(shù)據(jù)庫,因為本書的
所有例子都假設(shè)你已經(jīng)擁有一個數(shù)據(jù)庫
Django1.0支持5個數(shù)據(jù)庫引擎:
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,所以我們最先提到它
盡管如此,所有的這些數(shù)據(jù)庫都在Django上工作得都很好
SQLite也值得特別注意,它是一個非常簡單的數(shù)據(jù)庫引擎,不需要任何服務(wù)器安裝和配置
如果你只是想玩玩Django的話,SQLite是最容易安裝的
使用PostgrSQL來和Django工作
如果你用PostgreSQL,你需要psycopg包,從http://initd.org/projects/psycopg1可以得到
確認(rèn)你使用版本1而不是版本2,2還是beta版
如果你在Windows上使用PostgreSQL,可以從如下地址下載已經(jīng)編譯好的二進(jìn)制psycopg
http://stickpeople.com/projects/python/win-psycopg/
使用SQLite 3來和Django工作
你需要SQLite 3而不是SQLite 2,從http://initd.org/tracker/pysqlite下載pysqlite
確認(rèn)下載pysqlite的版本為2.0.3及以上
使用MySQL來和Django工作
Django需要MySQL版本4.0及以上,3.x版本不支持事務(wù)、嵌套存儲過程以及其它標(biāo)準(zhǔn)SQL語句
你也需要MySQLdb包,下載地址http://sourceforge.net/projects/mysql-python
使用MSSQL來和Django工作
使用Oracle來和Django工作
不使用數(shù)據(jù)庫來和Django工作
就像剛剛提到的,Django實際上不需要數(shù)據(jù)庫
如果你僅僅希望Django來提供動態(tài)網(wǎng)頁而不觸及數(shù)據(jù)庫也是可以的
和Django綁定的一些額外的工具需要數(shù)據(jù)庫,如果你選擇不使用數(shù)據(jù)庫,你會錯失那些特性
開始一個項目
如果這是你第一次使用Django,你必須注意一些初始化過程
運行“django-admin.py startproject mysite”將會在你的當(dāng)前目錄下創(chuàng)建一個mysite目錄
注意,如果你使用setup.py安裝Django,django-admin.py應(yīng)該在你的PATH系統(tǒng)變量下
如果不在PATH里面,你可以從site-packages/django/bin找到它
考慮符號鏈接它到你的PATH里面,例如/usr/local/bin
一個項目就是一個Django實例的設(shè)置的集合,包括數(shù)據(jù)庫配置、Django的專有設(shè)置以及應(yīng)用程序?qū)S性O(shè)置
讓我們看看startproject創(chuàng)建了什么:
/mysite/
__init__.py
manage.py
settings.py
urls.py
這些文件的說明如下:
manage.py
一個命令行工具,可以讓你以多種方式與Django項目交互
setting.py
Django項目的配置
urls.py
Django項目的URL定義
如果你使用PHP,你可能習(xí)慣于將代碼放在Web服務(wù)器的document root下,如/var/www
使用Django的話不要這樣做,將Python代碼放在document root下不是一個好主意
因為這樣的話人們可能從Web看到你的代碼,這并不安全
把你的代碼放在document root以外的目錄,如/home/mycode
開發(fā)用服務(wù)器
切換到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開發(fā)用服務(wù)器,這是一個包含在Django中的開發(fā)階段使用的輕量級Web服務(wù)器
我們在Django中包含了這個服務(wù)器是為了快速開發(fā),這樣在產(chǎn)品投入應(yīng)用之前,就可以不用處理生產(chǎn)環(huán)境中
web server的配置工作了。
這個服務(wù)器查看你的代碼,如果有改動,它自動reload,讓你不需重啟快速修改你的項目
雖然這個開發(fā)用服務(wù)器對于開發(fā)來說簡直棒透了,還是請克制一下把它用在任何形式的生產(chǎn)環(huán)境中的沖動。
這個服務(wù)器一次只能可靠地處理一個請求,而且根本沒有經(jīng)過任何安全性的檢驗
如果你的站點需要上線,請參考第21章的關(guān)于部署Django程序的介紹
默認(rèn)情況下runserver命令啟動服務(wù)器的端口為8000,只監(jiān)聽本地連接
如果你希望改變端口,增加一個命令行參數(shù)即可
python manage.py runserver 8080
你也可以改變服務(wù)器監(jiān)聽的IP地址,當(dāng)你同其它開發(fā)者分享一個開發(fā)站點時很有用
python manage.py runserver 0.0.0.0:8080
上面的命令使得Django監(jiān)聽任何網(wǎng)絡(luò)接口,這樣的話就允許其它計算機連接該服務(wù)器
試著訪問http://127.0.0.1:8000/,你將會看到“Welcome to Django”的頁面
安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢】