成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python世界中的Django學習探討

開發 后端
經過長久的學習探討,我確實也發現Python與其他語言及其框架等確實有一種與眾不同的感覺,那么下面就一起進入Python世界吧。

下面詳細說明Python世界中的django,這種語言具有非常簡捷而清晰的語法特點,適合完成各種高層任務,幾乎可以在所有的操作系統中運行,本文并不是django的教程,而是ahuaxuan對django的一些見解。

可能有些不成熟的地方,希望大家不要吝惜手中的磚頭。如果有人問我最喜歡django什么,我會耗不猶豫的告訴你是django的orm。這個想法的產生完全來自于我長時間來積累的對hibernate的“不滿”,雖然從理智的角度來看,hibernate做的是非常的正確的,因為它并不是只針對互連網而產生的。它的主要市場應該還是在企業應用上。

不過把它用在互聯網并非不可以,只不過大家更多的時候會選擇ibatis之類,因為不知道hibernate的人總是會說hibernate沒有ibatis快(其實我最煩這個,片面的比較是沒有意義的)。

正是hibernate的目標是打造成java界一個全方位,全能的orm框架,所以的它學習曲線和使用的復雜度日益的提升,要完全掌握好hibernate不是一件容易的事情(不要告訴我你會點crud,知道點lazy load你就掌握好hibernate了)。

再回頭來看django的orm,如果說要把hibernate說清楚需要800頁的書,那么要把django的orm說清楚,200頁就夠了(事實上它的官方文檔只有十幾頁的樣子)。

下面我舉一個我正在做的例子,這里有一個自關聯的對象(事實上django的orm是基于model,這點和ror不太一樣,有人跟我講過ror是數據庫驅動),這個對象有一個父對象,通常我們的菜單會定義成這樣的對象,這樣的菜單可以無限級向下擴展:

  1. class Category(models.Model):     
  2.     id = models.AutoField('id', primary_key=True)     
  3.     name = models.CharField(maxlength=50)     
  4.     code = models.CharField(maxlength=50)     
  5.     parentCategory = models.ForeignKey('self', 'id', null=True)     
  6.     enable = models.BooleanField()     
  7.          
  8.     def __str__(self):     
  9.         return self.name     
  10.          
  11.     class Admin:     
  12.         list_display = ('id', 'name', 'code', 'parentCategory')   

Python世界中又定義的Admin是為django的Admin模塊服務的。 瞧,我們定義的域模型只需要這些代碼就夠了,models.Model是父對象。所有的model對象都需要繼承這個對象,這個對象提供了很多常用的數據庫方法,不過不是基于sql的,還是基于對象的,如同Criteria一樣。下面列出常用的一些查詢Category的方法。

當然django的orm提供了很多很常用的功能,這里不一一舉例了,注意,這里我說的是提供了很多很常用的功能,至于hibenate中比較復雜的映射策略,在django中我并沒有看到。

但是我反而高興我沒有在Python世界中找到這個功能,因為django本身的定位是快速的互連網開發,它不需要太多的關注這個領域很少出現的東西,這樣帶來的優點是學習曲線的降低和開發效率的提高。

【編輯推薦】

  1. 如何使Python嵌入C++應用程序?
  2. 深入探討Ruby與Python語法比較
  3. Python學習資料介紹分享
  4. Python學習經驗談:版本、IDE選擇及編碼解 決方案
  5. 淺析Python的GIL和線程安全
責任編輯:chenqingxiang 來源: 騰訊科技
相關推薦

2010-03-01 15:08:36

2020-01-15 12:43:51

人工智能機器學習工程師

2010-04-16 16:41:53

rownum用法

2024-01-26 08:31:49

2017-12-19 15:24:21

DjangoPythonOracle

2011-06-11 22:09:06

NET聯合體

2011-07-12 09:18:50

.NET

2010-02-06 14:23:49

Android系統手機

2024-03-07 12:40:28

Python*args開發

2014-07-31 13:13:33

2023-10-23 12:35:36

Golang追加操作

2023-12-13 10:46:27

2011-03-22 10:31:57

Java

2022-03-31 10:05:32

JavaScriptInfinity變量

2009-12-17 13:33:14

VS2005類

2018-05-11 14:34:24

人工智能機器學習深度學習

2017-05-03 15:58:29

2010-07-21 16:26:27

telnet程序

2009-07-06 17:21:36

.NET中的多態

2009-07-01 09:43:40

WCF安全元數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人h动漫亚洲一区二区 | 亚洲乱码一区二区三区在线观看 | 粉色午夜视频 | 亚洲综合电影 | 亚洲一二三区不卡 | 日韩电影免费观看中文字幕 | 伊人性伊人情综合网 | 久久久成人免费一区二区 | 亚洲成人一区二区三区 | 欧美性大战xxxxx久久久 | 天天躁日日躁狠狠躁白人 | 亚洲成人一区二区三区 | 狠狠干天天干 | 日韩精品成人在线 | 久久精品一区二区三区四区 | 国产午夜精品久久久 | 中文字幕在线观看一区二区 | 日韩精品久久久久久 | 成人欧美一区二区三区黑人孕妇 | av一区二区在线观看 | 免费一级黄色录像 | www九色| 四虎最新地址 | 91视频www.| 成人二区三区 | 婷婷激情在线 | 国产精品久久欧美久久一区 | 成人欧美一区二区三区在线观看 | 91视频网址 | 精品久久久久久久人人人人传媒 | 国产高清精品在线 | 成人午夜av| 99re国产精品 | 午夜视频一区 | 欧美 中文字幕 | 日本超碰 | 亚洲国产一区二区三区, | 最新国产在线 | 人人干在线视频 | 亚洲看片网站 | 亚洲免费高清 |