欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python之web模板應(yīng)用

 更新時(shí)間:2017年12月26日 09:40:16   作者:谷雨yun  
這篇文章主要介紹了Python之web模板應(yīng)用,web模板可以更加靈活和方便的控制HTML的顯示,非常具有實(shí)用價(jià)值,有需要的小伙伴可以參考下

Python的web模板,其實(shí)就是在HTML文檔中使用控制語(yǔ)句和表達(dá)語(yǔ)句替換HTML文檔中的變量來(lái)控制HTML的顯示格式,Python的web模板可以更加靈活和方便的控制HTML的顯示,而且大大地減少了編程人員的工作量。

模板語(yǔ)法:

1、控制語(yǔ)句{% ... %}:控制語(yǔ)句需要用{% end %}來(lái)作為此語(yǔ)句結(jié)束標(biāo)志,通常用來(lái)作循環(huán)控制、條件控制、模塊控制等,可以更加方便的控制HTML內(nèi)容的顯示;

2、表達(dá)語(yǔ)句{{ ... }}:一條表達(dá)語(yǔ)句就相當(dāng)于一條Python語(yǔ)句,不需要結(jié)束語(yǔ)句,{{和}}之間可以放入任何Python表達(dá)式,Python模板語(yǔ)法可以自動(dòng)運(yùn)行{{和}}中的語(yǔ)句并把運(yùn)行結(jié)果顯示在HTML模板中;

3、母板繼承:在母板中使用{% block block_name %}{% end %}進(jìn)行模塊的占位,block_name可以自己定義,其他的都是固定的語(yǔ)法格式;在子模板中使用{% extends  "xxx.html" %}表示此HTML模板繼承自“xxx.html”模板(母板),然后在子模板中使用{% block block_name %} ... {% end %}重新定義母板中占位的模塊,子模板中定義模塊內(nèi)容就會(huì)顯示在母板中占位的位置,不同的子模板中可以定義不同的模塊內(nèi)容來(lái)滿足自身的需要;

4、模板導(dǎo)入:在一個(gè)HTML模板中使用{% include "xxx.html" %},就會(huì)將xxx.html的內(nèi)容導(dǎo)入(嵌入)當(dāng)前HTML模板中,一般會(huì)將一些公共內(nèi)容寫在一個(gè)模板中,然后導(dǎo)入到需要使用的模板中,以達(dá)到代碼重用的效果,使模板編碼更加簡(jiǎn)潔方便;

5、模板函數(shù):

1)static_url("static_file_path"):導(dǎo)入靜態(tài)文件,參數(shù)為靜態(tài)文件的路徑全名,例如<link href="{{ static_url(" rel="external nofollow" xxx.css") }}" rel="stylesheet" />,如果設(shè)置了靜態(tài)文件路徑(比如tornado.web.Application中參數(shù)settings的選項(xiàng)static_path),則該參數(shù)為設(shè)置的靜態(tài)文件路徑下的相對(duì)路徑;

2)escape(string):將string中的$、<和>轉(zhuǎn)換成對(duì)應(yīng)的HTML字符串;

3)更新中...

下面是用tornado寫的一個(gè)非常簡(jiǎn)單的web模板應(yīng)用:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import tornado.web
import tornado.ioloop
from tornado.options import define, options
define('port', default=8888, help='run on give the give port', type=int)

# 用于處理網(wǎng)頁(yè)的請(qǐng)求
class MainHandler(tornado.web.RequestHandler):
  def get(self, *args, **kwargs):
    personinfodict = {
      'name': 'Jason',
      'age': 20,
      'gender': 'male',
    }
    itemlist = ['name', 'age', 'gender']
    # 將變量以參數(shù)的形式傳入HTML模板中
    self.render('personinfo.html', itemlist=itemlist, personinfodict=personinfodict, welcome='hello guy!')

# 設(shè)置不同路由的網(wǎng)頁(yè)對(duì)應(yīng)的處理類
app = tornado.web.Application([
  (r'/', MainHandler)
])

# 開(kāi)始主程序I/O循環(huán)
if __name__ == '__main__':
  app.listen(options.port)
  tornado.ioloop.IOLoop.instance().start()
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <!-- 使用表達(dá)語(yǔ)句輸出變量的值 -->
  <title>{{ welcome }}</title>
</head>
<body>
  <ul><!-- 使用控制語(yǔ)句控制HTML內(nèi)容的輸出,也減少了許多工作量 -->
  {% for item in itemlist %}
    <li>{{ item }}: {{ personinfodict[item] }}</li>
  {% end %}
  </ul>
</body>
</html>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于Python實(shí)現(xiàn)圖片文字合成工具

    基于Python實(shí)現(xiàn)圖片文字合成工具

    這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)圖片文字合成工具,實(shí)現(xiàn)處理圖片文件、在圖片上添加文本等功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • Python Pygame實(shí)戰(zhàn)之賽車游戲的實(shí)現(xiàn)

    Python Pygame實(shí)戰(zhàn)之賽車游戲的實(shí)現(xiàn)

    如今的游戲可謂是層出不窮,不過(guò)小編發(fā)現(xiàn),賽車游戲也是深受大家歡迎啊,像跑跑卡丁車、QQ飛車,還有主機(jī)游戲極品飛車系列。本文將用Python中的Pygame模塊制作一個(gè)簡(jiǎn)單的賽車游戲,感興趣的可以了解一下
    2022-03-03
  • numpy ndarray 取出滿足特定條件的某些行實(shí)例

    numpy ndarray 取出滿足特定條件的某些行實(shí)例

    今天小編就為大家分享一篇numpy ndarray 取出滿足特定條件的某些行實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python畫圖時(shí)如何調(diào)用本地字體

    Python畫圖時(shí)如何調(diào)用本地字體

    這篇文章主要為大家介紹在通過(guò)Python繪制圖畫時(shí)如何調(diào)用本地的字體,從而解決中文亂碼的問(wèn)題。感興趣的小伙伴快來(lái)跟隨小編學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • 一文帶你了解python中的多態(tài)性

    一文帶你了解python中的多態(tài)性

    多態(tài)性是 OOP 的一個(gè)特征,這意味著一個(gè)名稱可以具有不同的功能, 這篇文章主要為大家詳細(xì)介紹了如何在 Python 中實(shí)現(xiàn)多態(tài)性,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-11-11
  • Python入門教程(三十三)Python的字符串格式化

    Python入門教程(三十三)Python的字符串格式化

    這篇文章主要介紹了Python入門教程(三十三)Python的字符串格式化,為了確保字符串按預(yù)期顯示,我們可以使用 format()方法對(duì)結(jié)果進(jìn)行格式化,需要的朋友可以參考下
    2023-05-05
  • Python ''takes exactly 1 argument (2 given)'' Python error

    Python ''takes exactly 1 argument (2 given)'' Python error

    這篇文章主要介紹了Python 'takes exactly 1 argument (2 given)' Python error的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • 使用beaker讓Facebook的Bottle框架支持session功能

    使用beaker讓Facebook的Bottle框架支持session功能

    這篇文章主要介紹了使用beaker讓Facebook的Bottle框架支持session功能,session在Python的Django等框架中內(nèi)置但在Bottle中并沒(méi)有被集成,需要的朋友可以參考下
    2015-04-04
  • python切片復(fù)制列表的知識(shí)點(diǎn)詳解

    python切片復(fù)制列表的知識(shí)點(diǎn)詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于python切片復(fù)制列表的知識(shí)點(diǎn)相關(guān)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。
    2021-10-10
  • 如何使用Python調(diào)整圖像大小

    如何使用Python調(diào)整圖像大小

    這篇文章主要介紹了如何使用Python調(diào)整圖像大小,幫助大家更好的利用python處理圖像,感興趣的朋友可以了解下
    2020-09-09

最新評(píng)論