自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對Python Django的模板操作說明

開發(fā) 后端
Python Django的模板可以說是非常的簡單,這款語言熟悉一下在看一下文檔就能上手操作了,在java中,freemarker和velocity我都用過。

在開發(fā)的時候發(fā)現(xiàn)Python Django的模板創(chuàng)建表單的做法確實(shí)感到有比較大的局限性,不過自定義forms也有比較讓人稱道的地方,在form中我們可以自定義驗(yàn)證規(guī)則,下面介紹說明一下Python Django的模板的操作。

最復(fù)雜功能***大的還是freemarker,支持jsp tag的嵌入讓我們可以重用很多已經(jīng)存在的組件,這一點(diǎn)我在之前的文章中也有過比較詳細(xì)的描述(強(qiáng)強(qiáng)聯(lián)手,看freemarker和displaytag的結(jié)合)。

由于了解,才有發(fā)言權(quán),Python Django的模板可以說是為互連網(wǎng)應(yīng)用而誕生的,簡潔及快速開發(fā)的特點(diǎn)讓人情不自禁的喜歡。大多數(shù)模板語言的基本語法都是類似的,比如在freemarker中顯示值是${},而在django是{{}},freemarker中if判斷為<#if></#if>,而django中是:

  1. {% if msg %}     
  2.     Xx     
  3. {% else %}     
  4. Xx     
  5. {% endif%}   

再看看在django中渲染模板的方法,有兩種:

  1. def preparePublish(request):     
  2.     t = loader.get_template(publishInfo)     
  3. return HttpResponse(t.render(Context({'categoryList' : None})))   

插一句題外話,關(guān)于jsp的題外話,不管是ruby,還是c++,還是python,在它們的web框架中都使用了模板,java中也有很多模板,我們最熟悉的是freemarker和velocity。這從一個側(cè)面反映出我們web開發(fā)中的一個模式,那就是我們的view基本上是基于模板產(chǎn)生的,而jsp這個東西應(yīng)該來說是時代的產(chǎn)物,在那個混亂的落后的時代產(chǎn)生的,不過很奇怪的是現(xiàn)在還有這么多人抱著它不放。

Django有兩種form,一種是自己定義form class,還有一種是通過我們定義的model自動form class。 由于ahuaxuan只做 了一個信息發(fā)布的小例子,所以并不能全面的了解或者理解django中form的所有細(xì)節(jié),不過從我涉及到的部分來講。

我對Python Django的模板創(chuàng)建表單的做法確實(shí)感到有比較大的局限性,因?yàn)楹芏鄷r候,model中的數(shù)據(jù) 并不是從頁面上來的,在這種情況下,form對象被構(gòu)造出來之后,ahuaxuan還沒有找到修改form中值的方法。

而自定義form類也比較麻煩,就是要寫自己的model,這個和我們之前的做法比較不一樣,這里的form代表我們java中的value object,model是domain object,在我們的ssh框架中我們通常把value object繼承我們的domain object。

雖然一堆又一堆的人提出了反對意見,說要把這兩個對象分開,因?yàn)樗麄兲幵诓煌膶哟沃?,但是從?shí)踐經(jīng)驗(yàn)中,我們可以看到,這樣做沒有什么不好。而在django中自定義form和model分開的行為可能比較符合一些人的心理。 不過自定義forms也有比較讓人稱道的地方,在form中我們可以自定義驗(yàn)證規(guī)則。

同時我們可以根據(jù)form對象直接生成頁面中的內(nèi)容,不過這一點(diǎn)其實(shí)也有比較麻煩的地方,就是如果要改變樣式的時候就比較麻煩,不過總的來說Python Django的模板的form還是比較有特點(diǎn)的,而且一定程度上給我們帶來了方面。

【編輯推薦】

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

2010-02-01 09:40:08

Python操作

2010-02-01 10:04:25

Python模板函數(shù)

2010-02-02 13:28:46

Python變量

2010-02-01 11:03:51

Python Djan

2009-07-29 15:42:37

asp.net1.1開

2010-02-02 14:42:38

Python線程

2010-03-01 13:13:02

Python應(yīng)用線程

2010-02-22 15:13:01

Python模塊

2010-02-22 11:14:43

Python編寫

2010-02-26 13:56:08

Python RSS

2010-02-26 10:07:55

Python編程語言

2010-02-24 16:44:58

Python 函數(shù)

2010-01-12 14:30:41

C++程序

2010-02-26 09:42:52

Python線程池

2010-02-26 10:55:53

Python系統(tǒng)程序

2010-02-22 14:54:47

Python應(yīng)用程序

2010-02-23 11:18:25

Python 操作符

2022-04-08 11:39:26

OTA操作說明鴻蒙

2009-07-16 16:51:49

JDBC連接設(shè)置

2010-03-19 17:39:49

Python編程
點(diǎn)贊
收藏

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