Django第一步


對於一個web框架,掌握了三部分的內容,就可以說是邁出了第一步。

1. 准備開發環境

2. 創建一個工程,並運行

3. 開發hello world應用

 

1. 准備環境

    首先應該是安裝python和django。這點官方網站有很詳細的說明,網上也有很多教程,這里就不再重復了,只是表達一個對操作系統的觀點:

          Mac OS:對程序員和用戶都很友好
          Linux:    對程序員很友好
          Widows:對用戶貌似友好
    到底使用哪個操作系統,仁者見仁。

   

   然后是開發工具的選擇。建議拋棄IDE,使用一個好的文本編輯器。強烈推薦vim。但如果你選擇Emacs,我無話可說。

 

2. 創建工程         

     Django作為一個web框架,第一步應該是能夠在瀏覽器中看到頁面。如果已經安裝好環境的話。

     首先創建工程:django-admin.py startproject depot,即開始創建名為depot的工程。

     與rails相比,過程很安靜,結果很干凈。如下:

      depot/
             __init__.py
             manage.py
             settings.py
             urls.py
這幾個文件的作用如下:

     _init__.py :Python的模塊定義文件。 這是一個空文件,一般你不需要修改它。
     manage.py :一個命令行工具,生成這個文件僅僅是為了方便。可以通過python manage.py help 查看該工具的功能。完全不需要編輯這個文件。

     settings.py :該 Django 項目的設置或配置。
     urls.py:Django項目的URL設置。
與rails不同,django初始工程的文件很少,可以很容易地閱讀所有的代碼。但這些文件已經構成了一個可運行的Django應用。

進入工程目錄並運行該工程:

cd depot/
python manage.py runserver

 

可以看到一些提示信息:

Validating models...

0 errors found
Django version 1.3, using settings 'depot.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[29/Jan/2012 02:09:17] "GET / HTTP/1.1" 200 2049

此時web server(開發環境!)已經運行了,用瀏覽器訪問http://127.0.0.1:8000/,可以看到如下的界面:



說明Django已經開始工作了。

 

3. hello Django!

       與rails不同,django不需要生成controller,helper, view 等等一大堆文件,要實現一個hello程序,只需要幾行代碼。
       Django Web應用中通常包含URLconf, view, template, model 四個部分(參考《URLconf+MTV:Django眼中的MVC》)。但這些部分不是完全必需的。比如我們要實現一個最簡單的 "hello, Django!", 只需要定義URLconf和view即可。
     

       讓我們把“需求”明確一下,hello,Django!實現如下功能:在瀏覽器中輸入http://127.0.0.1:8000/hello, 顯示“hello Django!”。


      首先要實現一個視圖(view) 來響應請求。在Django中視圖是一個函數,該函數接受一個HttpRequest參數,並返回一個HttpResponse。我們可以在任何地方定義這個函數,但通常會放在Django app 的 views.py 文件中。在hello,Django中我們不需要創建一個Django app(因為不需要model),所以可以在project 目錄中創建一個view.py 文件,並定義hello(request)視圖函數:

depot/views.py:

from django.http import HttpResponse

def hello(request):
    return HttpResponse("hello, Django!")

 

接下來是將前面定義的URL 映射到 這個視圖函數。這是由URLconf完成的。URLconf的本質是 URL 模式以及要為該 URL 模式調用的視圖函數之間的映射表。
打開生成的urls.py文件,先在文件前面import剛才創建的view,然后在tuple類型的變量urlpatterns中加入hello的映射關系:

from django.conf.urls.defaults import patterns, include, url
from depot.views import hello

urlpatterns = patterns('',
    url(r'^hello/$', hello),
)

 

此時訪問 http:/127.0.0.1:8000/hello, 將會顯示 hello, Django!


URLconf理解起來也很容易,即 urlpatterns中的每一項是一個二元組(正則表達式,視圖函數)。當Django 接收到HTTP請求的時候,從urlpatterns中找到匹配的表達式,並將請求發生給對應的視圖函數,最后視圖函數返回一個HTTP響應,交給Django處理。如此而已。

至此,Django的第一步已經邁出,你至少已經可以開始CGI風格的web開發了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM