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