首先確保django已安裝,我們可以嘗試在python環境下import django,如果命令執行成功,則表示安裝成功。
接著來看看如何建立一個新的項目:
通過一個命令來建立新項目:django-admin.py startproject mysite
執行過以後在當前目錄將會生成新目錄mysite,在其目錄下會生成如下文件:__init__.py,manage.py,setting.py,urls.py。
各個文件的意義如下:
* __init__.py:這文件是空的,意義體現在python將審核該文件來確定該包為可引用的包。
* manage.py:該文件為一個命令行的工具,用戶可通過該工具以交互式來管理運行該項目。
* setting.py: 該項目的配置文件,django配置文件將告訴你該項目是如何運轉的。
* urls.py: 該項目的url聲明文件,用於匹配客戶端請求鏈接。
下一步來看看運行起來的django項目:
之前提到的manage.py在這將很有用處,執行: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自帶的web,只限於測試開發,如果用於生產環境中,則建議使用其他的產品級的web服務器,如apache。
這樣當你在浏覽器中訪問http://127.0.0.1:8000/,你將會看到Welcome to Django. it works.
如何來修改ip和端口來訪問呢,通過如下命令則可實現:
----修改訪問端口
python manage.py runserver 8080
----修改IP
python manage.py runserver 192.168.1.100:8000
接下來接觸到的將是database(數據庫)的設置:
django任何的配置參數將通過setting.py來實現,如下:
* Engine -- 定義使用哪種數據庫,目前DJANGO支持如下數據庫:postgresql_psycopg2,postgresql,mysql,sqlite3,Oracle.
* Name -- 此處為數據庫中此項目使用的庫名。如果使用的是sqlite3,在你計算機裡面會有一個文件,這裡必須是一個完整的路徑,如果文件不存在,系統將自動生成該文件。win下的為:c:/home/users/django/sqlite3.db
* USER -- 數據庫的用戶名,如果使用的sqlite3,此處為空值;
* PASSWORD -- 數據庫密碼,如果使用的是sqlite3,此處為空值;
* HOST -- 數據庫所在主機,如果與項目為同一台物理主機,此處為空值。
如果你是個數據庫新手,django建議你使用自帶的數據庫sqlite3。python2.5以後的版本都支持sqlite3.
如果你使用了Postgresql或者Mysql,請確保建立了項目將要使用的數據庫,建庫語句為"create database database_name";
django中通過命令:python manage.py syncdb 來實現數據庫建表。
接下來看看如何創建項目模塊:
現在我們在之前的mysite下建立一個新的模塊polls,如下:
python manage.py startapp polls
這樣我們就成功創建了polls模塊,polls目錄下將會有如下文件:__init__.py,models.py,tests.py,views.py。
下面我們編輯models.py,建立兩個模塊類型:
from django.db import models
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
votes = models.IntegerField()
Poll和Choice都為models.Model的子類,charfield及datetimefield為表中的字段類型,像question和pub_date為地段名。
django中也支持數據庫多對一,多對多,一對一。
Poll和Choice兩個模塊已經建立,如何讓django生成他們相對應的表呢,這時,我們再一次編輯setting.py這個文件,讓mysite知道polls的存在,在INSTALLED_APPS中添加polls,然後執行如下命令:
python manae.py sql polls
此時數據庫中創建了polls_poll和polls_choice兩個表。
如果你有興趣也可以登陸django官網了解其他命令:
* python manage.py validate
* python manage.py sqlcustom polls
* python manage.py sqlclear polls
* python manage.py sqlindexes polls
* python manage.py sqlall polls
表建好以後,我們再次運行python manage,py syncdb 確保數據庫表被建立。