<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      python類庫26[web2py與MVC]

       

      什么是web2py,請看:python26web[web2py之helloworld] 

       

      一 web2py與MVC

      web2py鼓勵開發人員將data representation (the model), data presentation (the view) and the application workflow (the controller)分離. web2py的主要設計思想就是MVC,在web2py中一個典型的request流程如下圖:

       

      在上圖中:

      1) server可以是web2py內置的server,或者是第三方的server,例如Apache。server使用多線程來處理請求;

      2) main是指主要的WSGI應用程序。它執行所有的通用任務和包裝用戶應用。它處理cookies,sessions,transactions,URL routing and reverse routing, and dispatching.

       

      web2py也能夠服務和處理靜態文件如果web server沒有處理。

      1)Models,Views和Controller組件構成了用戶的應用;

      2)多個應用可以被寄宿在同一個web2py實例中;

      3)虛線箭頭代表了與數據庫的通信??梢酝ㄟ^純SQL或web2py的Database Abstraction Layer(DAL)來執行數據庫操作,但是推薦使用DAL來保持數據庫的操作獨立于特定的數據庫類型;

      4)分發器將request的URL轉化為controller中的函數調用。函數的輸出可以是字符串或dictionary字典。在dictionary中的數據將被view渲染。如果用戶request請求的是HTML頁面(默認地為HTML),dictionary將被渲染為HTML,如果用戶request請求的是XML頁面,則web2py將查詢與XML對應的view,將dictionary渲染為XML。開發人員可以創建相應的view來將頁面渲染為任意支持的類型 (HTML, XML, JSON, RSS, CSV, RTF),此外開發人員可以自定義其他的協議來渲染為其他類型的頁面。

      5)所有的調用將會在transaction事務中完成,如果有任何未捕獲的異常發生,此transaction將被rollback。如果request執行成功,transaction將被commit。

      6)web2py自動地處理sessions和session cookies,當transaction被commit,對應的session也被存儲,除非用戶顯式的制定放棄存儲。

      7)web2py支持在指定的時間或某些指定的動作完成后并行的執行指定的任務。通過此方式,可以實現在后臺運行耗時的任務,不至于影響用戶體驗。

       

      二 web2py中MVC的實例

      1) 在web2py的管理頁面中http://127.0.0.1:8000/admin/default/site,新建簡單應用(New simple application)來創建簡單應用MyFirst。此時MyFirst其實是對welcome的拷貝。

      2)修改modue,view和controller如下:

      3)MyFirst\modules\db.py如下:

      db = DAL('sqlite://storage.sqlite')db.define_table('contacts',   Field('name'),   Field('phone'))
      db.contacts.insert(name
      ="itech",phone='123')
      db.contacts.insert(name
      ='AAA',phone='456')
      db.contacts.insert(name
      ='BBB', phone='789'

      4)MyFirst\controllers\default.py如下:

      def contacts():     
        
      return dict(records=db().select(db.contacts.ALL))

      5)MyFirst\views\default\contacts.html如下:

      <h1>Records</h1>
      {{
      for record in records:}}
      {{
      =record.name}}: 
      {{
      =record.phone}}<br />{{pass}} 

      6)運行http://127.0.0.1:8000/MyFirst/default/contacts.html如下:

       

      注意:正式項目中表中插入記錄不應該在db.py中,這里只是演示。在正式的項目中保留appadmin.py,appadmin.html就可以使用管理界面來操作數據庫。

       

      三 web2py應用的目錄結構

       

      web2py開發的應用包含了下列部分:

      1)Models 描述了數據的表現,包括數據庫table和table間關系;
      2)controllers 描述了應用的邏輯和工作流;
      3)views 描述了如何使用HTML和JavaScript將數據的呈現給用戶;
      4)languages 描述了如何翻譯應用中的字符串到支持的各種語言;
      5)static files 不需要處理(例如images,css stylesheets,等);
      6)ABOUT和README 自解釋文檔;
      7)errors 存儲了應用產生的錯誤報告;
      8)sessions 存儲了跟特定用戶相關的信息;
      9)databases 存儲了SQLite數據庫和其他相關的表信息;
      10)cache 存儲了緩存的應用的部分;
      11)modules 存儲了應用所引用的其他的python模塊;
      12)private 存儲了只可以被controller訪問的文件;
      13)uploads 存儲了只可以被models訪問的文件;
      14)tests 存儲了testing相關的腳本;

      Models,views,controllers,languages和static文件可以通過web administration界面來訪問。ABOUT,README和errors也可以通過web administration界面的菜單來訪問。Sessions,cache,modules,private和uploads只能被應用訪問,不能通過web administration界面訪問。

      web2py的應用目錄如下:
      __init__.py  ABOUT        LICENSE    models    views
      controllers  modules      private    tests     cron
      cache        errors       upload     sessions  static

      其中__init__.py是一個空文件,用來使python能夠導入modules下的模塊。
       

       

       

      完!

      posted @ 2011-04-16 11:52  iTech  閱讀(2516)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 蜜臀98精品国产免费观看| 亚洲熟女乱色一区二区三区| 亚洲一区在线观看青青蜜臀| 亚洲一区二区日韩综合久久 | 漂亮人妻被修理工侵犯 | 亚州少妇无套内射激情视频| 亚洲综合色一区二区三区| 嘉善县| 国产综合精品一区二区在线| 国产又色又爽又黄的在线观看| 国产另类ts人妖一区二区| 蜜臀久久精品亚洲一区| 亚洲欧洲日产国无高清码图片 | 四虎影视一区二区精品| 中山市| 99RE6在线观看国产精品| 麻豆国产成人AV在线播放| 孟州市| 老色鬼在线精品视频在线观看| 老司机精品成人无码av| 亚洲天堂成人黄色在线播放| 免费无码高H视频在线观看| 亚洲国产欧美日韩另类| 黎川县| 麻豆成人精品国产免费| 人人澡超碰碰97碰碰碰| 日韩亚洲欧美中文高清| 亚洲综合精品一区二区三区| 日本一二三区视频在线| 亚洲第一狼人天堂网伊人| 精品无码久久久久久久久久| 国产真实伦在线观看视频| 狠狠色丁香婷婷综合久久来来去| 免费无码一区无码东京热| 亚洲一区三区三区成人久| 国产精品中文字幕av| 国产丰满乱子伦无码专区| 欧美人成精品网站播放| 无码国产成人午夜电影在线观看| 亚洲欧美人成人综合在线播放| 激情内射亚洲一区二区三区|