讓我們來研究乙個簡單的例子,通過該例項,你可以分辨出,通過web框架來實現的功能與之前的方式有何不同。 下面就是通過使用django來完成以上功能的例子: 首先,我們分成4個python的檔案,(models.py , views.py , urls.py ) 和html模板檔案 (latest_books.html )。
models.py:
# models.py (the database tables)from django.db import models
class book(models.model):
name = models.charfield(max_length=50)
pub_date = models.datefield()
views.py (the business logic)
# views.py (the business logic)from django.shortcuts import render_to_response
from models import book
def latest_books(request):
book_list = book.objects.order_by('-pub_date')[:10]
return render_to_response('latest_books.html', )
urls.py (the url configuration)
# urls.py (the url configuration)from django.conf.urls.defaults import *
import views
urlpatterns = patterns('',
(r'^latest/$', views.latest_books),
)
latest_books.html (the template)
# latest_books.html (the template)
不用關心語法細節,只要用心感覺整體的設計。 這裡只關注分割後的幾個檔案:
小結:結合起來,這些部分鬆散遵循的模式稱為模型-檢視-控制器(mvc)。 簡單的說, mvc是一種軟體開發的方法,它把**的定義和資料訪問的方法(模型)與請求邏輯 (控制器)還有使用者介面(檢視)分開來。
這種設計模式關鍵的優勢在於各種元件都是 鬆散結合 的。這樣,每個由 django驅動 的web應用都有著明確的目的,並且可獨立更改而不影響到其它的部分。 比如,開發者 更改乙個應用程式中的 url 而不用影響到這個程式底層的實現。 設計師可以改變 html 頁面 的樣式而不用接觸 python **。 資料庫管理員可以重新命名資料表並且只需更改乙個地方,無需從一大堆檔案中進行查詢和替換。
LINQ其實很簡單
會寫這一篇是有原因的,不只一次有人問我,要不要學 linq呢?linq 看起來很難耶 為何要放棄以前的 sql來學 linq呢?到底linq 的意義是什麼 反正就是有很多的問題,說真的,由於最近也沒時間寫本 linq 的書,但是工作累了順手寫寫 blog 還可以,所已針對 linq 這個主題,和大家...
LINQ其實很簡單
會寫這一篇是有原因的,不只一次有人問我,要不要學linq呢?linq看起來很難耶 為何要放棄以前的sql來學linq呢?到底linq的意義是什麼?反正就是有很多的問題,說真的,由於最近也沒時間寫本linq的書,但是工作累了順手寫寫blog還可以,所已針對linq這個主題,和大家有一些分享。其實對於v...
快樂其實很簡單
快樂,乙個簡單而不失文雅的詞語,可真正能體會到其中真諦的又有多少呢?我們來一起 下快樂的真諦吧!快樂,其實每個人對快樂的理解都不一樣,每個人能體會到的快樂程度也不一樣。比如 放假就會讓學生覺得很快樂,週末休息會讓忙碌了一周的上班族快樂,喜歡追星的人見到偶像很快樂等等,你會發現快樂就在我們身邊,快樂並...