国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python下如何讓web元素的生成更簡單的分析

2020-02-23 04:39:31
字體:
供稿:網(wǎng)友
1. 引用css。這可能是最常見的做法了,對一些特定的元素定義特定的樣式。那么使用它,你需要在HTML
頁面中加入<link>標(biāo)簽。
2. 引入js。許多特效也可以通過javascript來進(jìn)行處理,比如動(dòng)態(tài)顯示效果,或?qū)υ剡M(jìn)行封裝。使用
它你需要在HTML頁面加入<script>標(biāo)簽,必要時(shí)還要加一些javascript代碼。
3. HTML元素。需要設(shè)定一些特殊的屬性,比如class=某個(gè)屬性。這塊還相對簡單。

因此從上面的分析可以看出,在通常情況下,加入一個(gè)好看的web元素可能到許多地方的修改。因此我一
直在思考如何讓這個(gè)過程可以更簡化,麻煩的地方就是如何處理這些資源,如何讓這些資源可以與原始的
HTML很好的結(jié)合呢?最終我想出的辦法就是:代碼組裝。

對于css, javascript鏈接和代碼,它們可以按調(diào)用的順序依次拼成一段文本,然后插入到</head>元素前
面。然后對于html代碼,在模板中直接輸出。對于css, javascript的鏈接可以檢查是否重復(fù)。

那么如何定義web元素類和如何在模板中對其進(jìn)行處理?

一個(gè)web元素類定義如下:

class Snippet(object):
    css = ''
    csslink = ''
    jslink = ''
    html = ''
    js = ''

    def render(self):
        return ''

    def __str__(self):
        return self.render()

定義為類屬性的將輸出到HTML的頭部,而render()的結(jié)果將顯示在模板中調(diào)用類的地方。先看一下在模板
中調(diào)用的示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HTML Helper</title>
<script type="text/javascript" src="/static/js/jquery.js"></script>
</head>
<body>
{{
htmlbuf << htmlwidgets.Message('This is a test')
}}
</body>
</html>

這里你可以看到htmlbuf,它是什么,它就是用來采集每個(gè)Snippet類的類屬性的。這里使用<<來將一個(gè)
Snippet對象加到htmlbuf中去。同時(shí)它還會將Snippet的HTML代碼在調(diào)用位置輸出。

如何輸出?首先uliweb的模板將轉(zhuǎn)為python代碼,它有一個(gè)內(nèi)置的out對象,可以調(diào)用它的方法來輸出
HTML代碼。那么htmlbuf對象將在調(diào)用模板前被創(chuàng)建,在調(diào)用模板后被處理,在創(chuàng)建時(shí)將傳入out的write
屬性。這一切都是在SImpleFrame.py中通過plugin方法來實(shí)現(xiàn)的,但是這只是定義了一個(gè)調(diào)用點(diǎn),如:
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 榕江县| 惠来县| 布尔津县| 长垣县| 隆子县| 南靖县| 离岛区| 新宾| 贡山| 泽普县| 岳阳市| 滦南县| 邯郸县| 宜宾县| 信丰县| 临猗县| 洪泽县| 屏东县| 洛阳市| 合山市| 怀仁县| 黄浦区| 手游| 大邑县| 和林格尔县| 聊城市| 滁州市| 宁化县| 罗山县| 垣曲县| 封开县| 武城县| 太湖县| 大关县| 嘉荫县| 本溪市| 沈阳市| 龙游县| 郓城县| 泸西县| 商城县|