偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

探秘豐富多彩的Python開發(fā)語言

開發(fā) 后端
Python既支持面向過程的編程也支持面向?qū)ο蟮木幊?。在“面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。

Django的admin功能號稱是django的殺手級特性(killer feature),這一說可以說是恰如其分,毫不夸張的,從我做的這個例子來看,當(dāng)我做網(wǎng)站的時候,基本上只需要關(guān)注前臺頁面的展示這部分。

后臺的功能基本上都自動有了,比如我做的例子是一個二手信息發(fā)布平臺,category是二手信息的類型,還有一個information類,和category是多對一的關(guān)系,那么在后臺,category和information的crud就自動生產(chǎn)了,由于category本身是一個自關(guān)聯(lián)。

所以在admin中 add category的時候,admin會根據(jù)我model的定義,自動要求選擇一個parentCategory,而在add information的頁面上,admin會要求我選擇一個category來完成對一個information的創(chuàng)建。

而以前在java中,這些工作都需要自己完成,當(dāng)然也有很多工具可以自動生產(chǎn)crud,python不過這些開源的工具基本上都是針對單個model的,而且生成的代碼需要很大修改才能真正的把功能跑起來。

最重要的一點(diǎn)是不能自動生成關(guān)聯(lián)關(guān)系的管理。當(dāng)然我也見過有公司做了基于數(shù)據(jù)庫驅(qū)動的代碼生產(chǎn)器,能生成完整可用的代碼和頁面,也包括關(guān)聯(lián)關(guān)系的處理,不過由于語言特性的區(qū)別。

在開發(fā)的時候我們還是要不停的重啟server才能顯示出效果來,雖然在技術(shù)上,為ssh實(shí)現(xiàn)這個功能并不難,但是會消耗不少時間在上面,消耗了很多時間的話,很少就有公司將其貢獻(xiàn)出來了。

所以個人認(rèn)為django在這個功能上做得還是非常不錯的,尤其這個功能可以節(jié)省開發(fā)者很多的時間。甚至有些時候,項目可以雙線執(zhí)行,用戶通過admin輸入數(shù)據(jù),程序員開發(fā)前臺,這樣,前臺功能做完之后,數(shù)據(jù)也有了,基本可以測試上線了。在需要快速開發(fā)的小項目上,這個特性顯得尤其重要,因為django產(chǎn)生得時候就是基于這個場景。

當(dāng)然有時候后臺也沒有這么簡單,不過還好,admin提供了擴(kuò)展的功能,我們可以自己寫擴(kuò)展的代碼,然后集成到admin中去,不過事實(shí)上除了能改變admin的模板,我們不能改變?nèi)魏蝍dmin的代碼。

不過我時常在想,如果admin支持代碼自動生成的功能,那豈不是很美妙,我們可以隨意的修改后臺的功能了,否則我們就需要自己寫代碼,不如在生成的代碼上擴(kuò)展方便。
要使用admin,必須打開django的權(quán)限模塊。

這里簡單介紹一下權(quán)限模塊,django自帶了一個權(quán)限模塊,這個權(quán)限模塊中的model對于熟悉權(quán)限這塊的人來說再熟悉不過了,user,grouppermission,user和group多對多,grouppermission多對多。

在acegi中,我們通常這樣定義,python,role,resource,這個和django中的權(quán)限是一樣的,不過在django中默認(rèn)的permission的粒度是非常的粗了,是基于model的,如果我們要更細(xì)的權(quán)限模塊,那么就需要自己擴(kuò)展了。

我們來看一下使用fastcgi的一般模式:1、WEB服務(wù)器收到客戶端的頁面請求 2、WEB服務(wù)器將這個頁面請求委派給一個FastCGI 外部進(jìn)程(WEB服務(wù)器于FastCGI之間是通過socket來連接通訊的) 3、FastCGI外部進(jìn)程得到WEB服務(wù)器委派過來的頁面請求信息后進(jìn)行處理。

并且將處理結(jié)果(動態(tài)頁面內(nèi)容)返回給WEB服務(wù)器 4、Web服務(wù)器將FastCGI返回回來的結(jié)果再轉(zhuǎn)送給客戶端瀏覽器。 對我們來說第3步是我們最需要關(guān)注的,因為第3步的速度嚴(yán)重影響著整個性能。

由于fastcgi是基于進(jìn)程的,所以,我們要根據(jù)我們的應(yīng)用來開啟數(shù)量合適的fastcgi進(jìn)程,多開了是對資源的浪費(fèi),少開了就影響性能,這個類似我們在tomcat中開啟處理請求的thread一樣,只不過tomcat中的request handler thread在配置起來顯然更加方便,因為我們只要關(guān)注線程池中最大的可以容納的線程數(shù),最大空閑線程數(shù)等就行了。

【編輯推薦】

  1. 有關(guān)Python系統(tǒng)文件進(jìn)行介紹指導(dǎo)
  2. 如何正確的使用Python函數(shù)
  3. Python 構(gòu)建工具進(jìn)行詳細(xì)介紹分析
  4. PythonAndroid淺析Python優(yōu)勢所在
  5. 如何使用Python模塊解析配置文件?
責(zé)任編輯:chenqingxiang 來源: 51cto.com
相關(guān)推薦

2010-02-03 18:06:42

Python語言

2010-02-22 18:25:07

2010-02-05 16:28:07

Android

2010-03-03 16:08:20

Android手機(jī)系統(tǒng)

2010-02-06 16:02:57

Android 應(yīng)用程

2009-12-22 17:00:58

ADOMD.NET對象

2010-03-19 14:12:06

太網(wǎng)交換機(jī)

2010-01-06 16:02:53

2009-12-17 14:01:44

Visual Stud

2010-01-08 10:41:56

JSON 數(shù)據(jù)

2010-02-04 14:27:11

2010-02-03 15:58:53

Python應(yīng)用程序

2009-12-17 14:45:37

Visual Stud

2010-01-27 10:29:39

C++代碼解析

2010-01-14 15:15:39

C++Test

2010-01-12 14:52:00

C++技術(shù)

2010-01-13 18:30:18

CC++程序設(shè)計

2009-12-18 15:49:12

ADO.NET組件

2009-12-09 10:34:10

嵌入式Linux操作系

2021-11-12 20:00:52

Linuxcowsay命令
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號