tornado-參數(shù)處理

1.tornado程序的參數(shù)處理【表單操作】【參數(shù)傳遞】【模板語法】

demo.py

"""
    tornado程序的參數(shù)處理
    【表單操作】【參數(shù)傳遞】【模板語法】
"""

# 引入需要的模板
from tornado.web import Application, RequestHandler
from tornado.ioloop import IOLoop
from tornado.httpserver import HTTPServer
from tornado.options import define, options, parse_command_line
import os

# 定義端口變量
define("port", default=8000, help="默認(rèn)端口8000")


# 定義視圖處理類
class IndexHandler(RequestHandler):
    def get(self, *args, **kwargs):
        user = {"name": "零"}
        self.render("index.html", user=user,books=None)


# 定義視圖處理類---參數(shù)操作
class ParamsHandler(RequestHandler):
    def get(self):
        name = self.get_argument("name")
        books = self.get_arguments("books")
        user = {"name": name}
        self.render("index.html", user=user,books=books)

    def post(self):
        name = self.get_argument("name2")
        books = self.get_arguments("books")
        user = {"name": name}
        self.render("index.html", user=user,books=books)



# 定義程序入口
if __name__ == "__main__":
    parse_command_line()
    BASE_DIR = os.path.dirname(__file__)
    # 構(gòu)建web app
    app = Application(
        [
            (r'/', IndexHandler),
            (r'/params', ParamsHandler),
        ],
        # 項(xiàng)目配置信息
        template_path=os.path.join(BASE_DIR, "templates"),
        statc_path=os.path.join(BASE_DIR, "static"),
        debug=True,
    )
    # 部署
    server = HTTPServer(app)
    server.listen(options.port)

    # 啟動(dòng)事件輪詢監(jiān)聽
    IOLoop.current().start()
注意:

get和post接收參數(shù)的方式有其特有的方式也有公共的方式

# get特有的接受參數(shù)方式
    name = self.get_query_argument("name")
# 通用接受參數(shù)方式
    name = self.get_argument("name")


# post特有的接受參數(shù)方式
    name= self.get_body_argument("name2")
# 通用接受參數(shù)方式
    name = self.get_argument("name2")

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>主頁</title>
</head>
<body>
<h1>這里是主頁</h1>
<h3>{{user}}==={{user['name']}}</h3>
{% if books %}
    {% for book in books %}
        <p><a href="#"> 書名:《{{book}}》 </a> </p>
    {% end %}
{% else %}
    <p>沒有圖書</p>
{% end %}

<hr>
<form action="/params" method="get">
    姓名:<input type="text" name="name" id="name">
    選擇:<input type="checkbox" name="books" id="book1" value="戰(zhàn)馬">戰(zhàn)馬
    <input type="checkbox" name="books" id="book2" value="下一場戰(zhàn)爭">下一場戰(zhàn)爭
    <input type="checkbox" name="books" id="book3" value="追擊紅十月號">追擊紅十月號
    <input type="checkbox" name="books" id="book4" value="兵法">兵法
    <input type="submit" value="get提交">
</form>
<br>
<form action="/params" method="post">
    昵稱:<input type="text" name="name2" id="name2">
    選擇:<input type="checkbox" name="books" id="book11" value="戰(zhàn)馬">戰(zhàn)馬
    <input type="checkbox" name="books" id="book22" value="下一場戰(zhàn)爭">下一場戰(zhàn)爭
    <input type="checkbox" name="books" id="book33" value="追擊紅十月號">追擊紅十月號
    <input type="checkbox" name="books" id="book44" value="兵法">兵法
    <input type="submit" value="post提交">
</form>

</body>
</html>
注意:tornado的(模板語法jinjia2模板語法)和Django的(DTL)類似,但更加強(qiáng)大!

jinjia2模板語法可以在網(wǎng)頁中進(jìn)行運(yùn)算
例如:

{{book['price'] * book['buycount']}}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末玄括,一起剝皮案震驚了整個(gè)濱河市允蚣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌丰榴,老刑警劉巖勿负,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異举瑰,居然都是意外死亡捣辆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門此迅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汽畴,“玉大人,你說我怎么就攤上這事耸序∪绦” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵坎怪,是天一觀的道長罢坝。 經(jīng)常有香客問我,道長搅窿,這世上最難降的妖魔是什么嘁酿? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮男应,結(jié)果婚禮上痹仙,老公的妹妹穿的比我還像新娘。我一直安慰自己殉了,他們只是感情好开仰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著薪铜,像睡著了一般众弓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上隔箍,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天谓娃,我揣著相機(jī)與錄音,去河邊找鬼蜒滩。 笑死滨达,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的俯艰。 我是一名探鬼主播捡遍,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼竹握!你這毒婦竟也來了画株?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谓传,沒想到半個(gè)月后蜈项,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡续挟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年紧卒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诗祸。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡常侦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贬媒,到底是詐尸還是另有隱情聋亡,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布际乘,位于F島的核電站坡倔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏脖含。R本人自食惡果不足惜罪塔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望养葵。 院中可真熱鬧征堪,春花似錦、人聲如沸关拒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽着绊。三九已至谐算,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間归露,已是汗流浹背洲脂。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留剧包,地道東北人恐锦。 一個(gè)月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像疆液,于是被迫代替她去往敵國和親一铅。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 22年12月更新:個(gè)人網(wǎng)站關(guān)停枚粘,如果仍舊對舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,184評論 22 257
  • 在上一個(gè)章節(jié)馅闽,我們已經(jīng)創(chuàng)建了一個(gè)基礎(chǔ)的Blog程序。現(xiàn)在我們將使用一些Dajngo高級功能馍迄,去實(shí)現(xiàn)一個(gè)完整的blo...
    金金剛狼閱讀 3,586評論 1 12
  • 2 為博客添加高級功能 上一章中福也,你創(chuàng)建了一個(gè)基礎(chǔ)的博客應(yīng)用。現(xiàn)在攀圈,利用一些高級特性暴凑,你要把它打造成一個(gè)功能完整的...
    lakerszhy閱讀 1,613評論 2 5
  • Python常用庫大全,看看有沒有你需要的赘来。 環(huán)境管理 管理 Python 版本和環(huán)境的工具 p – 非常簡單的交...
    XDgbh閱讀 15,862評論 4 147
  • 環(huán)境管理管理Python版本和環(huán)境的工具现喳。p–非常簡單的交互式python版本管理工具。pyenv–簡單的Pyth...
    MrHamster閱讀 3,794評論 1 61