成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

web.py中文教程

歡迎來到web.py 0.3的Cookbook 。提醒您注意:某些特性在之前的版本中并不可用。當(dāng)前開發(fā)版本是0.3。1. 在編排內(nèi)容時,請盡量使用cookbook 格式... 如:###問題:如何訪問

歡迎來到web.py 0.3的Cookbook 。提醒您注意:某些特性在之前的版本中并不可用。當(dāng)前開發(fā)版本是0.3

1. 在編排內(nèi)容時,請盡量使用cookbook 格式... 如:

###問題:如何訪問數(shù)據(jù)庫中的數(shù)據(jù)?

###解法:使用如下代碼... 2. 請注意,網(wǎng)址中不必含有"web" 。如"/cookbook/select",而非"/cookbook/web.select"。

3.

該手冊適用于0.3版本,所以您在添加代碼時,請確認(rèn)代碼能在新版本中工作。

,

,

? Subdomains and how to access the username (requested)

Hello World!

問題

如何用web.py 實現(xiàn)Hello World!?

,

在URL 開頭添加代碼: 然后用redirect 類處理以'/'結(jié)尾的網(wǎng)址:

提供靜態(tài)文件 (諸如js 腳本, css樣式表和圖象文件)

問題

如何在web.py 自帶的web server中提供靜態(tài)文件訪問?

,

在當(dāng)前應(yīng)用的目錄下,創(chuàng)建一個名為static 的目錄,把要提供訪問的靜態(tài)文件放在里面即可。 例如

, 網(wǎng)址 http://localhost/static/logo.png 將發(fā)送 ./static/logo.png 給客戶端。

在 Apache 中可以使用 Alias 指令,在處理 web.py 之前將請求映射到指定的目錄。 這是一個在 Unix like 系統(tǒng)上虛擬主機(jī)配置的例子:

,

問題: 如何為整個網(wǎng)站設(shè)計一個URL 控制方案 / 調(diào)度模式

解決:

web.py 的URL 控制模式是簡單的、強(qiáng)大的、靈活的。在每個應(yīng)用的最頂部,你通常會看到整個URL 調(diào)度模式被定義在元組中:

這些元組的格式是: URL 路徑, 處理類 這組定義有多少可以定義多少。如果你并不知道URL 路徑和處理類之間的關(guān)系,請在閱讀cookbook 之前先閱讀Hello World example,或者

快速入門。 路徑匹配

你可以利用強(qiáng)大的正則表達(dá)式去設(shè)計更靈活的URL 路徑。比如 /(test1|test2) 可以捕捉 /test1 或 /test2。要理解這里的關(guān)鍵,匹配是依據(jù)URL 路徑的。比如下面的URL:

這個URL 的路徑是 /myapp/greetings/hello。web.py 會在內(nèi)部給URL 路徑加上^ 和$ ,這樣 /tasks/

不會匹配 /tasks/addnew。URL 匹配依賴于“路徑”,所以不能這樣使用,如:

/tasks/delete?name=(. ) ,?之后部分表示是“查詢”,并不會被匹配。閱讀URL 組件的更多細(xì)節(jié),請訪問web.ctx

。

捕捉參數(shù)

你可以捕捉URL 的參數(shù),然后用在處理類中:

在 list/后面的這塊會被捕捉,然后作為參數(shù)被用在GET 或POST:

,

你可以根據(jù)需要定義更多參數(shù)。同時要注意URL 查詢的參數(shù)(?后面的內(nèi)容) 也可以用web.input()取得。

開發(fā)子程序的時候注意

為了更好的控制大型web 應(yīng)用,web.py 支持子程序。在為子程序設(shè)計URL 模式的時候,記住取到的路徑(web.ctx.path)是父應(yīng)用剝離后的。比如,你在主程序定義了URL"/blog"跳轉(zhuǎn)到'blog' 子程序,那沒在你blog 子程序中所有URL 都是以"/"開頭的,而不是"/blog"。查看web.ctx 取得更多信息。

跳轉(zhuǎn)

(seeother)與重定向(redirect) web.seeother 和 web.redirect

問題 在處理完用戶輸入后(比方說處理完一個表單),如何跳轉(zhuǎn)到其他頁面?

POST 方法接收到一個post 并完成處理之后,它將給瀏覽器發(fā)送一個303消息和新網(wǎng)址。接下來,瀏覽器就會對這個新網(wǎng)址發(fā)出GET 請求,從而完成跳轉(zhuǎn)。

注意:web.seeother 和web.redirect 不支持0.3以下版本。

用web.redirect 方法似乎也能做同樣的事情,但通常來說,這并太友好。因為web.redirect 發(fā)送的是301消息-這是永久重定向。因為大多數(shù)Web 瀏覽器會緩存新的重定向,所以當(dāng)我們再次

,

執(zhí)行該操作時,會自動直接訪問重定向的新網(wǎng)址。很多時候,這不是我們所想要的結(jié)果。所以在提交表單時,盡量使用seeother 。但是在下面要提到的這種場合,用redirect 卻是最恰當(dāng)?shù)模何覀円呀?jīng)更改了網(wǎng)站的網(wǎng)址結(jié)構(gòu),但是仍想讓用戶書簽/收藏夾中的舊網(wǎng)址不失效。

(注:要了解seeother 和redirect 的區(qū)別,最好是看一下http 協(xié)議中不同消息碼的含義。)

使用子應(yīng)用

問題

如何在當(dāng)前應(yīng)用中包含定義在其他文件中的某個應(yīng)用?

在blog.py 中:

當(dāng)前的主應(yīng)用code.py :

,

提供XML 訪問

問題

如何在web.py 中提供XML 訪問?

如果需要為第三方應(yīng)用收發(fā)數(shù)據(jù),那么提供xml 訪問是很有必要的。

根據(jù)要訪問的xml 文件(如response.xml) 創(chuàng)建一個XML 模板。如果XML 中有變量,就使用相應(yīng)的模板標(biāo)簽進(jìn)行替換。下面是一個例子:

為了提供這個XML ,需要創(chuàng)建一個單獨(dú)的web.py 程序(如response.py) ,它要包含下面的代碼。注意:要用"web.header('Content-Type', 'text/xml')"來告知客戶端--正在發(fā)送的是一個XML 文件。

,

從post 讀取原始數(shù)據(jù)

介紹

有時候,瀏覽器會通過post 發(fā)送很多數(shù)據(jù)。在webpy ,你可以這樣操作。

高級應(yīng)用

web.ctx

問題

標(biāo)簽: