1. 程式人生 > >Django學習筆記(第二節)Hello World站點

Django學習筆記(第二節)Hello World站點

檢視和URL配置

建立檢視

在上一節建立的mysite資料夾中建立一個叫做 view.py的空檔案,這就是檢視檔案。Django對這個檔案的名稱沒有特殊要求,但一般約定為view.py。

輸入以下內容:

from django.http import HttpResponse
def hello(request):
    return HttpResponse("Hello world")

這三行程式碼的意思分別是:

匯入django.http的HttpResponse類,建立一個名為hello、引數為request的函式。返回一個HttpResponse物件,它包含了文字"Hello world"。

建立URLconf

開啟專案自動建立的urls.py檔案,預設內容的如下圖:


URLconf中加入URL和View的對映就可以。 在這裡新增VIew中的hello功能。

from django.conf.urls.defaults import *
from mysite.views import hello

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^hello/$','mysite.views.hello', name='hello'),#進入hello頁面
)

Django1.7版本的寫法貌似與1.4版本的不太一樣。

寫完這兩個檔案的內容就可以,執行mysite專案。

訪問路徑http://127.0.0.1:8000/hello/

將顯示Hello World!

關於正則表示式的內容,python對正則實現與其他語言基本一致,一些python正則特性可以到網上搜索一下,比較簡單。

Django訪問路徑的過程總結:

1.進來的請求轉入/hello/;

2.Django通過在ROOT_URLCONF配置來決定根URLconf;

3.Django在URLconf中的所有URL模式中,查詢第一個匹配/hello/的條目;

4.如果找到匹配,將呼叫相應的檢視函式;

5.檢視函式返回一個HttpResponse

6.Django轉換HttpResponse為一個適合的HTTP response, 以Web page顯示出來。

動態內容

hello World的例子中頁面內容是不會變化的,類似於靜態HTML頁面。

下面例子顯示一個動態內容,每次重新整理頁面,頁面資料都會變化。

在Views.py中的新增程式碼:

def currentTime(request):
    now = datetime.datetime.now()
    html = "<html><body>It is now %s.</body></html>" % now
    return HttpResponse(html)

引入datetime類

在urls中新增  『url(r'^time/$','mysite.views.currentTime', name='currentTime'),』

執行專案。

頁面將顯示當前時間It is now 2015-05-04 23:04:46.875000.

重新整理之後顯示最新時間It is now 2015-05-04 23:11:47.446000.

下一節將學習動態URL