歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Django Docs part 1(初識Django)

Django Docs part 1(初識Django)

日期:2017/2/28 16:14:41   编辑:Linux教程

首先確保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 確保數據庫表被建立。

Copyright © Linux教程網 All Rights Reserved