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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于Django综述

發布時間:2023/12/31 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于Django综述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主頁:https://www.djangoproject.com/
使用 Django 和 Python 開發 Web 站點: http://www.ibm.com/developerworks/cn/linux/l-django/

0.? 簡介
:Django 項目是一個python定制框架,它源自一個在線新聞 Web 站點,于 2005 年以開源的形式被釋放出來。Django 框架的核心組件有:
  • 用于創建模型的對象關系映射
  • 為最終用戶設計的完美管理界面
  • 一流的 URL 設計
  • 設計者友好的模板語言
  • 緩存系統。
  • Django(發音:[`d???ɡ??]) 是用python語言寫的開源web開發框架(open source web framework),它鼓勵快速開發,并遵循MVC設計。Django遵守BSD版權,初次發布于2

    django logo

    005年7月, 并于2008年9月發布了第一個正式版本1.0 。 Django 根據比利時的爵士音樂家Django Reinhardt命名,他是一個吉普賽人,主要以演奏吉它為主,還演奏過小提琴等。



    1.? 地位:(百度百科)由于Django在近年來的迅速發展,應用越來越廣泛,被著名IT開發雜志SD Times評選為2013 SD Times 100,位列“API、庫和框架”分類第6位,被認為是該領域的佼佼者[1]



    2.? 架構設計

    Django是一個基于MVC構造的框架。但是在Django中,控制器接受用戶輸入的部分由框架自行處理,所以 Django 里更關注的是模型(Model)、模板(Template)和視圖(Views),稱為 MTV模式。它們各自的職責如下:
    層次 職責
    模型(Model),即數據存取層 處理與數據相關的所有事務: 如何存取、如何驗證有效性、包含哪些行為以及數據之間的關系等。
    模板(Template),即表現層 處理與表現相關的決定: 如何在頁面或其他類型文檔中進行顯示。
    視圖(View),即業務邏輯層 存取模型及調取恰當模板的相關邏輯。模型與模板之間的橋梁。

    ???? 從以上表述可以看出Django 視圖不處理用戶輸入,而僅僅決定要展現哪些數據給用戶,而Django 模板 僅僅決定如何展現Django視圖指定的數據。或者說, Django將MVC中的視圖進一步分解為 Django視圖 和 Django模板兩個部分,分別決定 “展現哪些數據” 和 “如何展現”,使得Django的模板可以根據需要隨時替換,而不僅僅限制于內置的模板。 至于MVC控制器部分,由Django框架的URLconf來實現。URLconf機制是使用正則表達式匹配URL,然后調用合適的Python函數。URLconf對于URL的規則沒有任何限制,你完全可以設計成任意的URL風格,不管是傳統的,RESTful的,或者是另類的。框架把控制層給封裝了,無非與數據交互這層都是數據庫表的讀,寫,刪除,更新的操作.在寫程序的時候,只要調用相應的方法就行了,感覺很方便。程序員把控制層東西交給Django自動完成了。 只需要編寫非常少的代碼完成很多的事情.所以。它比MVC框架考慮的問題要深一步.因為我們程序員大都寫程序在控制層。現在這個工作交給了框架,僅需寫很少的調用代碼,大大提高了工作效率。



    3設計哲學

    Django的主要目的是簡便、快速的開發數據庫驅動的網站。它強調代碼復用,多個組件可以很方便的以“插件”形式服務于整個框架,Django有許多功能強大的第三方插件,你甚至可以很方便的開發出自己的工具包。這使得Django具有很強的可擴展性。它還強調快速開發和DRY(Do Not Repeat Yourself)原則。 Django基于MVC的設計十分優美:
    • 對象關系映射 (ORM,object-relational mapping):以Python類形式定義你的數據模型,ORM將模型與關系數據庫連接起來,你將得到一個非常容易使用的數據庫API,同時你也可以在Django中使用原始的SQL語句。
    • URL 分派:使用正則表達式匹配URL,你可以設計任意的URL,沒有框架的特定限定。像你喜歡的一樣靈活
    • 模版系統:使用Django強大而可擴展的模板語言,可以分隔設計、內容和Python代碼。并且具有可繼承性。
    • 表單處理:你可以方便的生成各種表單模型,實現表單的有效性檢驗。可以方便的從你定義的模型實例生成相應的表單。
    • Cache系統:可以掛在內存緩沖或其它的框架實現超級緩沖 -- 實現你所需要的粒度。
    • 會話(session),用戶登錄與權限檢查,快速開發用戶會話功能。
    • 國際化:內置國際化系統,方便開發出多種語言的網站。
    • 自動化的管理界面:不需要你花大量的工作來創建人員管理和更新內容。Django自帶一個ADMIN site,類似于內容管理系統。



    4.工作機制

    1.用manage .py runserver 啟動Django服務器時就載入了在同一目錄下的settings .py。該文件包含了項目中的配置信息,如前面講的URLConf等,其中最重要的配置就是ROOT_URLCONF,它告訴Django哪個Python模塊應該用作本站的URLConf,默認的是urls .py

    工作機制

    2.當訪問url的時候,Django會根據ROOT_URLCONF的設置來裝載URLConf。 3.然后按順序逐個匹配URLConf里的URLpatterns。如果找到則會調用相關聯的視圖函數,并把HttpRequest對象作為第一個參數(通常是request) 4.最后該view函數負責返回一個HttpResponse對象。


    5.部署

    Django可以運行在Apache上,也可以運行在支持WSGI,FastCGI的服務器上。支持多種數據庫,已經支持Postgresql,MySql, Sqlite3,Oracle。Google App Engine也支持 Django的某些部分,國內支持的平臺有(SAE)Sina App Engine,(BAE)百度應用引擎。



    6.文檔

    Django1.0 建立了強大完整的文檔體系,,涵蓋了Django的方方面面,并且適合各種水平的讀者和開發者. 其中還包含若干個簡單的示例,你可以跟隨他們一步步體驗Django的優美。



    7.翻譯一下主頁

    The Django framework --- Django框架

    Object-relational mapper---? 對象關系映射

    ???? Define your data models entirely in Python. You get a rich, dynamic database-access API for free — but you can still write SQL if needed.

    ????? 在Python中確定數據模型,你可以獲得豐富易用的動態數據庫接口,也可以自己寫SQL接口。

    Automatic admin interface---自動管理界面

    ???? Save yourself the tedious work of creating interfaces for people to add and update content.Django does that automatically, and it's production-ready.

    ???? 把自己從繁瑣的界面設計中解放出來,Django為你自動完成。

    Elegant URL design---優雅的URL設計

    ?? Design pretty, cruft-free URLs with no framework-specific limitations. Be as flexible as you like.

    ?? 優美的設計,不令人討厭的彈性設計。

    Template system---模板系統

    ??? Use Django's powerful, extensible and designer-friendly template language to separate design, content and Python code.

    ??? 使用Django有力的、可擴增的、設計友好的模板語言 完成設計、內容和編碼。

    Cache system---緩存系統

    ??? Hook into memcached or other cache frameworks for super performance — caching is as granular as you need.

    ??? 更好表現的顆粒狀的緩存系統

    Internationalization---國際化

    ???? Django has full support for multi-language applications, letting you specify translation strings and providing hooks for language-specific functionality.

    ???? 更有力的多語言支持,讓你自由地翻譯....


    ....................每次進步都得靠翻譯..................

    總結

    以上是生活随笔為你收集整理的关于Django综述的全部內容,希望文章能夠幫你解決所遇到的問題。

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