日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

Django框架里的MVC思想

發布時間:2023/12/10 c/c++ 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django框架里的MVC思想 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

讓我們來研究一個簡單的例子,通過該實例,你可以分辨出,通過Web框架來實現的功能與之前的方式有何不同。 下面就是通過使用Django來完成以上功能的例子: 首先,我們分成4個Python的文件,(models.py , views.py , urls.py ) 和html模板文件 (latest_books.html )。

models.py:

1 # models.py (the database tables)
2 ?
3 from?django.db?import?models
4 ?
5 class?Book(models.Model):
6 ????name?=?models.CharField(max_length=50)
7 ????pub_date?=?models.DateField()

views.py:

1 # views.py (the business logic)
2 ?
3 from?django.shortcuts?import?render_to_response
4 from?models?import?Book
5 ?
6 def?latest_books(request):
7 ????book_list?=?Book.objects.order_by('-pub_date')[:10]
8 ????return?render_to_response('latest_books.html', {'book_list': book_list})

urls.py:

1 # urls.py (the URL configuration)
2 ?
3 from?django.conf.urls.defaults?import?*
4 import?views
5 ?
6 urlpatterns?=?patterns('',
7 ????(r'^latest/$', views.latest_books),
8 )

latest_books.html:

01 # latest_books.html (the template)
02 ?
03 <html><head><title>Books</title></head>
04 <body>
05 <h1>Books</h1>
06 <ul>
07 {%?for?book?in?book_list?%}
08 <li>{{ book.name }}</li>
09 {%?endfor?%}
10 </ul>
11 </body></html>

不用關心語法細節,只要用心感覺整體的設計。 這里只關注分割后的幾個文件:

  • models.py 文件主要用一個 Python 類來描述數據表。 稱為 模型(model) 。 運用這個類,你可以通過簡單的 Python 的代碼來創建、檢索、更新、刪除 數據庫中的記錄而無需寫一條又一條的SQL語句。
  • views.py文件包含了頁面的業務邏輯。 latest_books()函數叫做視圖。
  • urls.py 指出了什么樣的 URL 調用什么的視圖。 在這個例子中 /latest/ URL 將會調用 latest_books() 這個函數。 換句話說,如果你的域名是example.com,任何人瀏覽網址http://example.com/latest/將會調用latest_books()這個函數。
  • latest_books.html 是 html 模板,它描述了這個頁面的設計是如何的。 使用帶基本邏輯聲明的模板語言,如{% for book in book_list %}
  • 結合起來,這些部分松散遵循的模式稱為模型-視圖-控制器(MVC)。 簡單的說,?MVC?是一種軟件開發的方法,它把代碼的定義和數據訪問的方法(模型)與請求邏輯 (控制器)還有用戶接口(視圖)分開來。

這種設計模式關鍵的優勢在于各種組件都是 松散結合 的。這樣,每個由?Django驅動 的Web應用都有著明確的目的,并且可獨立更改而不影響到其它的部分。 比如,開發者 更改一個應用程序中的 URL 而不用影響到這個程序底層的實現。 設計師可以改變 HTML 頁面 的樣式而不用接觸 Python 代碼。 數據庫管理員可以重新命名數據表并且只需更改一個地方,無需從一大堆文件中進行查找和替換。

總結

以上是生活随笔為你收集整理的Django框架里的MVC思想的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。