web2py--------------用web2py寫 django的例子,web2pydjango
我們建立了資料模型,然後這次來進行頁面的展示
1、這裡是列表頁面的 control
這裡是dal的文法
只有兩行
第一行 是查詢出所有問題,也就是問題的id大於0
第二行是返回問題的列表
這裡是view
我們在view曾只需要一個for迴圈其實就可以展示出所有的資料,
但是需要用if判斷一下是否為空白,貼心的處理一下不為空白的情況
注意:
每個{{if }} {{for}} 這樣的邏輯標籤,後邊是有“:”冒號的,而且有配對的{{pass}}標籤宣告他結束
正是因為這些標籤,似的寫 web2py 跟寫 php 一樣 的沒有底線,直接在view 中使用函數。。
資料層我們已經寫好了,這裡也不做修改
下面是展示頁面
紅色部分就是我們從資料庫查出來的資料,問我為什麼有兩條,我是不會告訴你,我有添加了幾條,怎麼添加,可以去看看 前面的教程
2、然後是 detial 也就是詳情頁面
這裡是 control寫的內容
做個簡單的解釋,
第一句, 請求的 第一個參數,其實就是 question的id,
第二句,查詢出這個問題
第三句,查詢出這個問題的回答
我們向前台返回問題,和問題選項
是不是簡單明了
下面是view
具體標籤就不說做什麼用的了,話說我寫完的時候是有縮排的,但是,現在沒了。不過只有form才有內含項目關聯性啦,也沒什麼好複雜的
是的 接下來是 小小的展示環節,我覺得還是很和諧的麼
3、驗證環節
細心的同學會發現有一個 都有使用一個 URL()這樣的一個函數
這個就是為了拼接地址而生的函數,對應的預設參數分別是 app,controller,view,然後加上參數
這個驗證的controller不對應view
所以只有一個controller
代碼如下
redirect()函數將重新導向到 results 哪裡,
4、結果查看 results
不說了,如果不是小教程,這個絕對是個冗餘代碼,不過也很好維護,沒什麼複雜的內容,有時候有些冗餘也是不錯的,不過也不能說是冗餘參見detail部分
這個可是有意思了,django的教程貼心的判斷了一下 是不是複數,反正如果不是問一下,我也忘了那個標籤是幹什麼的了,這樣寫道view裡邊是不是格外的紮眼?
我們來看看最終效果
好了現在django給的官方的例子已經完成了,
它剩下的內容是關於 cbv 的,但是web2py 不支援
所以這個教程也算是個入門而已,
只是告訴大家,殊途同歸,
只不過每個架構都有自己可取的事情,例如如果有需求,完全可以按照web2py 的自身的優勢來,無論是代碼量,還是效果,都會比這個好的多。
現在 就這樣吧,拜拜
有問題可以私信或者留言